Phoenix与Squirrel 是什么?

  1. 云栖社区>
  2. 博客>
  3. 正文

Phoenix与Squirrel 是什么?

技术小哥哥 2017-11-09 10:13:00 浏览1110
展开阅读全文

前言

   Phoenix是HBase的开源SQL引擎。

   squirrel是windows上Phoneix可视化工具。

 

 

 

 

 Phoenix的官网

http://phoenix.apache.org/

 

 

 

 

 

 

 

 

Phoenix是什么?

  Phoenix是一个HBase的开源SQL引擎。你可以使用标准的JDBC API代替HBase客户端API来创建表,插入数据,查询你的HBase数据。
Phoenix是构建在HBase之上的SQL引擎。你也许会存在“Phoenix是否会降低HBase的效率?”或者“Phoenix效率是否很低?”这样的疑虑,事实上并不会,Phoenix通过以下方式实现了比你自己手写的方式相同或者可能是更好的性能(更不用说可以少写了很多代码):

复制代码
编译你的SQL查询为原生HBase的scan语句。
检测scan语句最佳的开始和结束的key。
精心编排你的scan语句让他们并行执行。
让计算去接近数据通过。
推送你的WHERE子句的谓词到服务端过滤器处理。
执行聚合查询通过服务端钩子(称为协同处理器)。
复制代码

 

  除此之外,Phoenix还做了一些有趣的增强功能来更多地优化性能:

实现了二级索引来提升非主键字段查询的性能。
统计相关数据来提高并行化水平,并帮助选择最佳优化方案。
跳过扫描过滤器来优化IN,LIKE,OR查询。
优化主键的来均匀分布写压力。

 

 

  Phoenix的团队用了一句话概括Phoenix:”We put the SQL back in NoSQL” 意思是:我们把SQL又放回NoSQL去了!这边说的NoSQL专指Hbase,意思是可以用SQL语句来查询hbase,你可能会说:“Hive和Impala也可以啊!”。但是hive和Impala还可以查询文本文件,Phoenix的特点就是,它只能查Hbase,别的类型都不支持!但是也因为这种专一的态度,让Phoenix在Hbase上查询的性能超过了Hive和Impala!

  1.具有完整ACID事务功能的标准SQL和JDBC API的强大功能 。
2.通过利用HBase,使得NoSQL读取更加灵活 。
3.Apache Phoenix与其他Hadoop产品完全集成,如Spark,Hive,Pig,Flume和Map Reduce。

 

 

  现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等。今天在我的这篇博客里,主要记录Phoenix。

  phoenix,中文译为“凤凰”,很美的名字。Phoenix是由saleforce.com开源的一个项目,后又捐给了Apache基金会。它相当于一个Java中间件,提供jdbc连接,操作hbase数据表。

  但是在生产环境中,不可以用在OLTP中。在线事务处理的环境中,需要低延迟,而Phoenix在查询HBase时,虽然做了一些优化,但延迟还是不小。所以依然是用在OLAT中,再将结果返回存储下来。

 

 

 

 

 

 

 

 

 

 

 

 

 squirrel的官网

http://www.squirrelsql.org/

 

 

 

 

 

 

 

 

Squirrel 是什么?

  squirrel安装是windows上phoneix可视化工具


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7096295.html,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
技术小哥哥
+ 关注