概述
关于使用hbase进行多维度条件实时查询的方案调研。
1.MapReduce方案
优点:并发批量构建Index
缺点:不能实时构建Index
2.ITHBASE方案
缺点:需要重构hbase,几年没有更新。
3.IHBASE方案
缺点:需要重构hbase。
4.Coprocessor方案
华为的HBase二级索引采用此方案(hindex 代码开源)。
1)、索引和数据分别放在不同表里;
2)、所有的运算逻辑全都放在服务端;
3)、需要修改HBase源码,侵入性大
4)、 查询时无需指定,即可自动使用最优索引
缺点:代码很复杂,代码量非常多。一下子要弄明白原理可能比较困难。hindex和公司的HBase版本不兼容性
5.Solr+hbase方案
缺点:对Solr不熟悉
6.CCIndex
缺点: 如存储开销比较大,尤其是当索引列比较多的时候,空间开销会更大;索引更新代价比较高,会影响系统的吞吐量;索引创建以后,不能够动态增加或修改。
7.360的hbase二级索引
360二级索引的特点如下:
1)、索引和Rowkey在同一个表里;
2)、支持多范围与操作优化;
3)、支持索引重建
缺点:没有开源,需要按照他的思想去实现,原理不是太清楚,只明白一点点,按照这个思想来重新搭建也可能非常耗时间。
8.phoenix的二级索引
好处:开源,自带二级索引。
现状:公司的hbase集群,资源有限。目前主要是提供给dmp在使用。刚好能撑住目前的服务。
偶尔有压力的时候,还会挂掉几台机器。
按照目前的需求,只有两条方案:一个是按照上面的思想自己开发一个hbase的二级索引工具,另外一个是使用phoenix自带二级索引。
依照目前的hbase的集群使用情况,就算自己开发出来了二级索引,估计集群资源不够用的前提下,也发挥不出二级索引的速度优势。
所以只能暂且在phoenix的现有资源上优化我们的程序性能,尽量减少检索时间。
最后
以上就是优雅烧鹅为你收集整理的关于使用hbase进行多维度条件实时查询的方案调研的全部内容,希望文章能够帮你解决关于使用hbase进行多维度条件实时查询的方案调研所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复