关于列族数量的大表设计和查询
Posted
技术标签:
【中文标题】关于列族数量的大表设计和查询【英文标题】:Bigtable design and querying with respect to number of column families 【发布时间】:2017-05-15 10:06:54 【问题描述】:来自 Cloud Bigtable 架构设计文档: 将数据分组到列族允许您从单个族或多个族中检索数据,而不是检索每行中的所有数据。尽可能紧密地对数据进行分组,以便在最频繁的 API 调用中只获取您需要的信息,而不是更多信息。
在我的用例中,我可以将所有数据分组到一个列族(当前访问模式是检索所有字段),或者将它们分组为 3 个逻辑列族,并在查询时始终指定这些列族。这两种设计之间有性能差异吗?推荐哪种设计?
【问题讨论】:
【参考方案1】:在您的情况下,无论哪种方式都没有性能优势。我会使用 3 个逻辑列族,这样你的代码就更清晰了。
【讨论】:
在对列族进行逻辑分组的情况下,只使用行键查询而不指定列族是否是一种好习惯?正如我所提到的,主要的访问模式是检索大部分字段。 这真的取决于情况。如果行很小,您不太可能看到任何一种方式的性能下降。你可以做一些实验,看看cloud.google.com/bigtable/docs/hbase-metrics提供的指标。以上是关于关于列族数量的大表设计和查询的主要内容,如果未能解决你的问题,请参考以下文章