博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Phoenix与Squirrel 是什么?
阅读量:6074 次
发布时间:2019-06-20

本文共 1667 字,大约阅读时间需要 5 分钟。

 

 

  不多说,直接上干货!

 

 

 

前言

   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专指,意思是可以用SQL语句来查询,你可能会说:“和Impala也可以啊!”。但是和Impala还可以查询文本文件,Phoenix的特点就是,它只能查Hbase,别的类型都不支持!但是也因为这种专一的态度,让Phoenix在Hbase上查询的性能超过了Hive和Impala!

  1.具有完整ACID事务功能的标准SQL和JDBC API的强大功能 。

  2.通过利用HBase,使得NoSQL读取更加灵活 。
  3.Apache Phoenix与其他产品完全集成,如,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/   和  http://www.cnblogs.com/lchzls/ 

 

  人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。

  目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

 

       以及对应本平台的QQ群:161156071(大数据躺过的坑)

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的文章
mysql5.7 创建一个超级管理员
查看>>
【框架整合】Maven-SpringMVC3.X+Spring3.X+MyBatis3-日志、JSON解析、表关联查询等均已配置好...
查看>>
要想成为高级Java程序员需要具备哪些知识呢?
查看>>
带着问题去学习--Nginx配置解析(一)
查看>>
onix-文件系统
查看>>
java.io.Serializable浅析
查看>>
我的友情链接
查看>>
多线程之线程池任务管理通用模板
查看>>
CSS3让长单词与URL地址自动换行——word-wrap属性
查看>>
CodeForces 580B Kefa and Company
查看>>
开发规范浅谈
查看>>
Spark Streaming揭秘 Day29 深入理解Spark2.x中的Structured Streaming
查看>>
鼠标增强软件StrokeIt使用方法
查看>>
本地连接linux虚拟机的方法
查看>>
某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
查看>>
BABOK - 企业分析(Enterprise Analysis)概要
查看>>
Linux 配置vnc,开启linux远程桌面
查看>>
NLog文章系列——如何优化日志性能
查看>>
Hadoop安装测试简单记录
查看>>
CentOS6.4关闭触控板
查看>>