hbase-如果rowkey设计得很长(例如200个字母),但是它对扫描和过滤很有帮助长键设计有什么坏处吗?

w8ntj3qf  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(220)

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

yptwkmov

yptwkmov1#

rowkey设计有两种选择, tall-narrow 以及 flat-wide . 根据你的生意,你可以选择其中之一。长划键设计没有坏处。

5vf7fwbs

5vf7fwbs2#

我会说-不要把行键做得太长。尽管长行键对于基于某些过滤器的扫描似乎很有诱惑力,但它会占用更多的堆空间。 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 一些有趣的阅读。

相关问题