什么是Phoenix
- Phoenix是一个
基于HBase的开源SQL引擎
,可以使用标准的JDBC API代替HBase客户端API来创建表,插入数据,查询你的HBase数据 - Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒
- Phoenix性能
- Phoenix是构建在HBase之上的SQL引擎
- Phoenix通过以下方式实现高性能操作HBase
- 编译你的SQL查询为原生HBase的scan语句
- 检测scan语句最佳的开始和结束的key
- 精心编排你的scan语句让他们并行执行
- 推送你的WHERE子句的谓词到服务端过滤器处理
- 执行聚合查询通过服务端钩子(称为协同处理器)
- 实现了二级索引来提升非主键字段查询的性能
- 统计相关数据来提高并行化水平,并帮助选择最佳优化方案
- 跳过扫描过滤器来优化IN,LIKE,OR查询
- 优化主键的来均匀分布写压力
- 官网地址:
http://phoenix.apache.org/