HBase 二级索引和备用查询路径

感谢平台分享-http://bjbsair.com/2020-04-10/tech-info/53319.html

你也可以将本文的标题理解为“如果我的表 rowkey 看起来像这样,但我也希望我的查询表这样。” dist-list 上的一个常见示例是 row-key 格式为“user-timestamp”格式,但对于特定时间范围内的用户活动有报告要求。因此,用户选择容易,因为它处于密钥的主导位置,但时间不是。

没有一个最好的方法来解决这个问题的答案,因为它取决于:

  • 用户数量
  • 数据大小和数据到达率
  • 报告要求的灵活性(例如,完全特定的日期选择与预先配置的范围)
  • 期望的查询执行速度(例如,对于临时报告来说90秒可能是合理的,而对于其他情况来说可能太长)

而且解决方案也受到集群规模和解决方案所需的处理能力的影响。常见的技巧在下面的部分中介绍。这是一个全面但并非详尽的方法清单。

二级索引需要额外的集群空间和处理并不令人惊讶。这正是 RDBMS 中发生的情况,因为创建备用索引的操作需要更新空间和处理周期。RDBMS产品在这方面更加先进,可以处理替代索引管理。但是,HBase 在更大的数据量下可以更好地扩展,所以这是一项功能交换。

实施这些方法时请注意 Apache HBase 性能调整。

另外,请参阅在这个 dist-list 线程 HBase,mail#user - Stargate + hbase 中的 David Butler 响应。

HBase过滤查询

根据具体情况,使用客户端请求过滤器可能是适当的。在这种情况下,不会创建二级索引。但是,请不要在应用程序(如单线程客户端)上对这样的大表进行全面扫描。

HBase定期更新二级索引

可以在另一个表中创建二级索引,通过 MapReduce 作业定期更新。该作业可以在一天内执行,但要取决于加载策略,它可能仍然可能与主数据表不同步。

HBase双写二次索引

另一种策略是在将数据发布到集群时构建二级索引(例如,写入数据表,写入索引表)。如果这是在数据表已经存在之后采取的方法,那么对于具有 MapReduce 作业的二级索引将需要引导。

HBase汇总表

在时间范围非常广泛的情况下(例如,长达一年的报告)以及数据量大的地方,汇总表是一种常见的方法。这些将通过 MapReduce 作业生成到另一个表中。

HBase协处理器二级索引

协处理器行为类似于 RDBMS 触发器。这些在 0.92 增加。

原文地址:https://blog.51cto.com/14744108/2486377

时间: 2024-11-05 23:59:41

HBase 二级索引和备用查询路径的相关文章

奇虎360 HBASE 二级索引的设计与实践

基于RowKey 的索引问题总结 1.索引单一 2.多维度(字段/列)查询困难 多字段分别作为RK,写入多次 组合字段作为RK,设计复杂,不灵活 3.不经过索引的并行scan过滤,大量资源消耗,无时效性可言 总体设计 二级索引构建模式 1)以主数据的列值作为索引数据的RowKey,以主数据的RowKey 作为索引数据的列值,以此来构建指定列作为查询条件的Hbase 二级索引. 2)索引的构建与数据的查询都是分布式.并发式进行的 索引设计 1)索引与主数据存放在同一张表的不同Column Fami

HBase二级索引方案总结

转自:http://blog.sina.com.cn/s/blog_4a1f59bf01018apd.html 附hbase如何创建二级索引以及创建二级索引实例:http://www.aboutyun.com/thread-8857-1-1.html 华为二级索引(原理):http://my.oschina.net/u/923508/blog/413129 在HBase中,表格的Rowkey按照字典排序,Region按照RowKey设置split point进行shard,通过这种方式实现的全局

HBase二级索引的设计

摘要 最近做的一个项目涉及到了多条件的组合查询,数据存储用的是HBase,恰恰HBase对于这种场景的查询特别不给力,一般HBase的查询都是通过RowKey(要把多条件组合查询的字段都拼接在RowKey中显然不太可能),或者全表扫描再结合过滤器筛选出目标数据(太低效),所以通过设计HBase的二级索引来解决这个问题 查询需求 多个查询条件构成多维度的组合查询,需要根据不同组合查询出符合查询条件的数据 HBase的局限性 HBase本身只提供基于行键和全表扫描的查询,而行键索引单一,对于多维度的

hbase二级索引

二级索引与索引Join是多数业务系统要求存储引擎提供的基本特性,RDBMS早已支持,NOSQL阵营也在摸索着符合自身特点的最佳解决方案.这篇文章会以HBase做为对象来讨论如何基于Hbase构建二级索引与实现索引join.文末同时会列出目前已知的包括0.19.3版secondary index, ITHbase, Facebook方案和官方Coprocessor的介绍. 理论目标在HBase中实现二级索引与索引Join需要考虑三个目标:1,高性能的范围检索.2,数据的低冗余(存储所占的数据量).

CDH Solr Hbase二级索引

基于key-Value store indexer ,solrcloud创建Hbase二级索引 首先安装solrcloud,在cloudera manager 上添加solr服务,然后添加key-Value store indexer服务. 首先设置HBASE表的列族REPLICATION_SCOP =>1 如: disable ‘cloud’ alter 'cloud' ,{NAME => 'datainfo',REPLICATION_SCOPE =>'1'} enable ‘clou

【转】华为HBase索引模块应用:HBase二级索引模块:hindex调研 2014年10月16日

文章出处:http://www.batchfile.cn/?p=63 HBase二级索引模块:hindex调研 hindx是HBase的二级索引方案,为HBase提供声明式的索引,使用协处理器对索引表进行自动创建和维护,客户端不需要对数据进行双写.并且hindex采用了一些巧妙的Rowkey编排方式,使索引数据和实际数据分布在同一个Region,实现了较高的查询性能.介绍如下:huawei-hbase-secondary-secondary-index-implementations 代码下载地

HBase二级索引与Join

转自:http://www.oschina.net/question/12_32573 二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性.RDBMS支持得比较好,NOSQL阵营也在摸索着符合自身特点的最佳解决方案.这篇文章会以HBase做为对象来探讨如何基于Hbase构建二级索引与实现索引join.文末同时会列出目前已知的包括0.19.3版secondary index, ITHbase, Facebook和官方Coprocessor方案的介绍. 理论目标在HBase中实现

【转】华为Hbase二级索引(Secondary Index)细节分析

华为在HBTC 2012上由其高级技术经理Anoop Sam John透露了其二级索引方案,这在业界引起极大的反响,甚至有人认为,如果华为早点公布这个方案,hbase的某些问题早就解决了.其核心思想是保证索引表和主表在同一个region server上. 更新:目前该方案华为已经开源,详见:https://github.com/Huawei-Hadoop/hindex 下面来对其方案做一个分析. 1.整体架构 这个架构在Client Ext中设定索引细节,在Balancer中收集信息,在Copr

(转)HBase二级索引与Join

二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性.RDBMS支持得比较好,NOSQL阵营也在摸索着符合自身特点的最佳解决方案.这篇文章会以HBase做为对象来探讨如何基于Hbase构建二级索引与实现索引join.文末同时会列出目前已知的包括0.19.3版secondary index,?ITHbase, Facebook和官方Coprocessor方案的介绍. 理论目标在HBase中实现二级索引与索引Join需要考虑三个目标:1,高性能的范围检索.2,数据的低冗余(存储所占