开发者社区 问答 正文

RowKey设计的长度为什么越短越好?

RowKey设计的长度为什么越短越好?

展开
收起
游客fbdr25iajcjto 2021-12-09 20:28:37 400 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 原因如下:

    (1)数据的持久化文件HFile中是按照KeyValue存储的,如果Rowkey过长比如100个字节,1000万列数据光Rowkey就要占用100*1000万=10亿个字节,将近1G数据,这会极大影响HFile的存储效率;

    (2)MemStore将缓存部分数据到内存,如果Rowkey字段过长内存的有效利用率会降低,系统将无法缓存更多的数据,这会降低检索效率。因此Rowkey的字节长度越短越好。

    (3)目前操作系统是都是64位系统,内存8字节对齐。控制在16个字节,8字节的整数倍利用操作系统的最佳特性。

    2021-12-09 20:51:07 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等