我一直在使用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的专家看到这个设计的任何问题?
答案 0 :(得分:0)
你的设计还可以。我知道一些系统的设计和你的一样。
顺便说一句,如果你使用java。我正在编写一个框架,可以将一行与多版本映射到DO列表。这可能对你有帮助。