前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对比使用Phoenix组件和原生Hbase查询的时间性能

对比使用Phoenix组件和原生Hbase查询的时间性能

作者头像
公众号guangcity
发布2019-09-20 17:27:27
4.5K0
发布2019-09-20 17:27:27
举报
文章被收录于专栏:光城(guangcity)光城(guangcity)

对比使用Phoenix组件和原生Hbase查询的时间性能

之前对于使用Phoenix查询Hbase大表数据一直卡死,于是搁置了好久,昨晚终于尝试了一下,完美搞定,本节文章来使用4种方法对比Hbase查询性能。

查询数据量为1.8亿+。

1.基本理论

HBase是一个分布式的基于列存储的非关系型数据库。

HBase不是关系型数据库,而是一个在hdfs上开发的面向列的分布式数据库,不支持sql。

HBase统计使用count。查询按照rowkey查询,适合存储结果,不适合做sum、count、表连接等复杂查询,而SQL则适合多表连接,查询组合等。

现有工具有很多Hive,Tez,Impala,Shark/Spark,Phoenix等。今天主要记录Phoenix。

phoenix,由saleforce.com开源的一个项目,后又捐给了Apache。它相当于一个Java中间件,帮助开发者,像使用jdbc访问关系型数据库一些,访问NoSql数据库HBase。

phoenix,操作的表及数据,存储在hbase上。phoenix只是需要和Hbase进行表关联起来。然后再用工具进行一些读或写操作。

其实,可以把Phoenix只看成一种代替HBase的语法的一个工具。

2.查询方式

第一种:原生Hbase查询时间

代码语言:javascript
复制
count 'mysql_data'

Hbase查询时间为3856秒大约1小时7分钟

第二种:Hbase查询优化

代码语言:javascript
复制
count 'mysql_data', INTERVAL => 10000000

每隔一千万查询一次:

间隔查询3372.5740秒,大约耗时:56分钟。

第三种:协处理器

首先需要配置:hbase-site.xml

代码语言:javascript
复制
<property>
   <name>hbase.coprocessor.user.region.classes</name>
   <value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>
</property>

耗时:1874188毫秒=1874.188s秒,大约31分钟。

第四种:Phoenix查询时间

需要设置Phoenix中的hbase-site.xml时间配置:

代码语言:javascript
复制
<property>
    <name>phoenix.query.timeoutMs</name>
    <value>3600000</value>
</property>

<property>
    <name>hbase.rpc.timeout</name>
    <value>3600000</value>
</property>

<property>
    <name>hbase.client.scanner.timeout.period</name>
    <value>3600000</value>
</property>

Phoenix查询时间为2015.033秒,大约33分钟左右。

3.总结

综上可得出,速度快慢:协处理器>Phoenix查询>间隔count>普通count>全表scan

最后,欢迎大家订阅我的chat,更多细节会在chat中分享,本节chat可以提供源码进行实践!!!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 光城 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对比使用Phoenix组件和原生Hbase查询的时间性能
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档