如何解决使用多列族或单列族时,HBase 扫描的性能会更好吗?
我想在 HBase 中存储一个对象(有效负载)以及一些元数据。
然后我想在表上运行查询并根据元数据信息提取有效负载部分。
例如,假设我有以下列限定符
- P:有效载荷(大于 M1 + M2)。
- M1:元数据1
- M2:元数据2
然后我会运行一个查询,例如:
- 获取所有有效负载,其中 M1='search-key1' && M2='search-key2'
是否有意义:
- 将 M1 和 M2 保留在一个列族中,而将 P 保留在另一个列族中?扫描会更快吗?
- 将所有 3 列保留在同一个列族中?
通常,我会做一个尖峰(我可能仍然需要)-我想我先问一下。
解决方法
我会尝试遵循 HBase Reference 中给出的建议并使用选项 #2(将所有 3 个列保留在同一个列族中):
如果可以的话,尽量在你的模式中使用一个列族。仅有的 在数据的情况下引入第二和第三列族 访问通常是列范围的;即您查询一个列族或 另一个,但通常不是同时。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。