当前位置:  开发笔记 > 前端 > 正文

如何设计Hbase架构?

如何解决《如何设计Hbase架构?》经验,为你挑选了1个好方法。

假设我有这个RDBM表(Entity-attribute-value_model):

col1: entityID
col2: attributeName
col3: value

我想使用HBase由于扩展问题.

我知道访问Hbase表的唯一方法是使用主键(游标).您可以获取特定键的游标,并逐个迭代行.

问题是,在我的情况下,我希望能够迭代所有3列.例如 :

对于给定的entityID,我想获得它的所有属性和值

for give attributeName和value我想要所有的entitiIDS ...

所以我有一个想法是构建一个Hbase表来保存数据(表DATA,其中entityID作为主索引),以及2个"索引"表,其中一个以attributeName作为主键,另一个表示值

每个索引表将保存DATA表的指针列表(entityID).

这是一种合理的方法吗?或者是对Hbase概念的"滥用"?

在这篇博客中,作者说:

HBase允许通过主键获取操作并在行范围内扫描(思考:游标).(如果你有二级指标的规模和需求,不要担心 - Lucene拯救!但这是另一篇文章.)

你知道Lucene怎么帮忙吗?

- Yonatan



1> 小智..:

二级索引确实对HBase的许多潜在应用程序有用,我相信开发人员实际上正在研究它.查看http://www.mail-archive.com/hbase-dev@hadoop.apache.org/msg04801.html.

同时,如果您的应用程序数据存储可以建模为星型模式(请参阅http://en.wikipedia.org/wiki/Star_schema),您可能想要查看Hypertable为二级索引类型需求提出的解决方案http://markmail.org/message/rphm4q6cbar2ycgp

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有