我是 HBase 的新手,想要设计一个 HBase 表(让我们说客户说)。
我有两个选择:
要么创建一个最终会变得庞大的单个表。该表将存储所有客户的信息
将巨大的表分成多个表(每个客户一个)。我想知道在性能方面哪一个是更好的设计?
选项1中的单个表可能有多达100亿条记录,第二个设计中的每个表最多可能有1亿条记录。
答案 0 :(得分:1)
遵循Hbase设计原则
让我们采取多表的方法: 1.应用程序逻辑需要决定查找数据的表。 2.更多区域/区域服务器 3.随着区域数量的增加,更多的memstores,更多的刷新
让我们采取单表的方法 *减少区域数量 *没有应用程序逻辑来获取任何"客户" *相对较少的地区数量
总体上看出你的Region Server Heap的大小是多少,并且根据它确定它可以容纳多少个区域,将memstore大小保持在300Mb附近。
如果num region / regionserver~30-100可以支持任意数量的表,但表/ Region服务器上所有区域的累积总和应为~30-100