HBase表格模式经验法则
HBase表格模式经验法则
在 HBase 中有许多不同的数据集,具有不同的访问模式和服务级别期望。因此,这些经验法则只是一个概述。
- 目标区域的大小介于10到50 GB之间。
- 目的是让单元格不超过10 MB,如果使用 mob,则为50 MB 。否则,请考虑将您的单元格数据存储在 HDFS 中,并在 HBase 中存储指向数据的指针。
- 典型的模式在每个表中有1到3个列族。HBase 表不应该被设计成模拟 RDBMS 表。
- 对于具有1或2列族的表格,大约50-100个区域是很好的数字。请记住,区域是列族的连续段。
- 尽可能短地保留列族名称。列族名称存储在每个值 (忽略前缀编码) 中。它们不应该像在典型的 RDBMS 中一样具有自我记录和描述性。
- 如果您正在存储基于时间的机器数据或日志记录信息,并且行密钥基于设备 ID 或服务 ID 加上时间,则最终可能会出现一种模式,即旧数据区域在某个时间段之后永远不会有额外的写入操作。在这种情况下,最终会有少量活动区域和大量没有新写入的较旧区域。对于这些情况,您可以容忍更多区域,因为您的资源消耗仅由活动区域驱动。
- 如果只有一个列族忙于写入,则只有该列族兼容内存。分配资源时请注意写入模式。