Apache Phoenix:HBase之上的SQL工具[1] 简介与架构
作者:胡佳辉(Dennis) 时间:2019年1月1日 CSDN博客:https://blog.csdn.net/gobitan
Phoenix简介
Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目。Apache Phoenix接受用户输入的SQL查询,将其编译为一系列HBase扫描,并协调这些扫描的运行以生成JDBC结果集。它使得用户可以通过标准的JDBC API接口来访问HBase,而不是常规的HBase客户端API来创建表、插入数据和查询HBase中的数据。Phoenix可以为小型查询提供毫秒级的性能,或者为数千万行提供数秒的性能。
哪些公司在使用Phoenix
Phoenix的关键特性
-
事务transaction:Phoenix在Apache Tephra的支持下为HBase提供完全的ACID支持
-
用户定义函数user-defined funtions:支持临时的或永久的自定义函数,可以像内置函数一样在查询语句中使用
-
二级索引secondary indexes:借助协处理器可以为HBase创建二级索引
-
跳跃扫描skip scan:在做范围扫描时,借助filter跳过大量的行从而提高查询性能
-
视图view:同一张HBase物理表上可以创建不同的视图
-
多租户multi-tenancy:通过指定不同的租户连接实现数据访问的隔离
-
查询服务器(query server):为了非Java客户端提供了一种http+json的访问方式
Phoenix架构
先看下Phoenix在Hadoop生态中的位置
再看Phoenix的架构
参考资料: