Hbase使用版本的一对多关系

时间:2014-01-05 17:02:16

标签: nosql hbase

我一直在使用HBase一些示例DNS数据。我的想法非常简单,就是使用HBase的修订版/ VERSION方案来建立一对多的关系。这主要是为了简化数据的加载和管理。这是我的设计样本

A-Records表

ROW:  www.example.com
IP:  1.1.1.1
TIMESTAMP: 1388922331000
VERSION : 1

IP:  1.1.1.7
TIMESTAMP: 1388940991000
VERSION: 2

我的Hbase表格看起来像

hbase>create table 'a', 'ip'

hbase> alter 'a', { NAME => 'ip', VERSIONS => 100 }

在基本shell中查询www.example.com的所有行或使用

hbase> get 'a', 'www.example.com, { COLUMNS => 'ip', VERSIONS => 100 }

我得到了所有结果。我可以在RESTFUL API中迭代它们,并为用户提供一对多表的体验。

HBase的专家看到这个设计的任何问题?

1 个答案:

答案 0 :(得分:0)

你的设计还可以。我知道一些系统的设计和你的一样。

顺便说一句,如果你使用java。我正在编写一个框架,可以将一行与多版本映射到DO列表。这可能对你有帮助。

https://github.com/zhang-xzhi/simplehbase