Phoenix 简介
Phoenix 定义
Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的*项目。
Phoenix 构建在 HBase 之上的开源 SQL 层. 能够让我们使用标准的 JDBC API 去建表, 插入数据和查询 HBase 中的数据, 从而可以避免使用 HBase 的客户端 API.
在我们的应用和 HBase 之间添加了 Phoenix, 并不会降低性能, 而且我们也少写了很多代码.
Phoenix 特点
- 将 SQl 查询编译为 HBase 扫描
- 确定扫描 Rowkey 的最佳开始和结束位置
- 扫描并行执行
- 将 where 子句推送到服务器端的过滤器
- 通过协处理器进行聚合操作
- 完美支持 HBase 二级索引创建
- DML命令以及通过DDL命令创建和操作表和版本化增量更改。
- 容易集成:如Spark,Hive,Pig,Flume和Map Reduce。
Phoenix 架构
Phoenix 数据存储
Phoenix 将 HBase 的数据模型映射到关系型世界