hbase - 如果rowkey设计得很长(例如200个字母),但它有助于扫描和过滤。对长排列设计有害吗?

时间:2014-04-20 15:13:12

标签: hadoop hbase

如果rowkey设计得很长(例如200个字母),但它有助于扫描和过滤。长链设计有害吗?

2 个答案:

答案 0 :(得分:1)

我会说 - 不要让rowkeys太长。即使长行键看起来很容易根据某些过滤器进行扫描,但它会占用更多的堆空间而不是保证。
Store files in hbase are LSM trees. To speed up random access within the store files , an index is stored for Data Block and Meta Block , which contain first key for each block along with other information. When added up for lots of blocks, it may take up big chunk of RAM.
检查hfiles的商店文件索引的总大小,看看你的情况是否有问题。
如果不可避免的那么 一些解决方案可能是 - 增加块大小并启用压缩 另请参阅https://issues.apache.org/jira/browse/HBASE-3551进行一些有趣的阅读。

答案 1 :(得分:0)

rowkey设计有两种选择:tall-narrowflat-wide。根据您的业务,您可以选择其中之一。长排的设计没有坏处。

相关问题