Bigtable行键场景避免热点?

Ros*_*ndo 3 bigtable google-cloud-bigtable

Bigtable行键场景避免热点?

一家公司需要您在 Google Bigtable 中创建一个架构,以便对过去 2 年的记录进行历史分析。传入的每条记录每 15 分钟发送一次,并包含设备的唯一标识符和数据记录。最常见的查询是针对给定设备在给定日期的所有数据。您应该使用哪种模式?

  • A.行键:date#device_id,列数据:data_point
  • B.行键:日期,列数据:device_id,data_point
  • C.行键:device_id,列数据:日期,data_point
  • D、行键:data_point,列数据:device_id、日期
  • E.行键:date#data_point,列数据:device_id

上面最好的选择是什么?

roh*_*dte 5

根据Bigtable 架构文档:

行按行键按字典顺序排序。

这意味着为了避免热点,常见查询应该返回连续的行结果。

本质上,您想要查询具有给定日期和设备 ID 的行。Google Cloud Bigtable 允许您通过特定的行键前缀查询行。由于最常见的查询是给定设备和日期的所有数据,因此设备和日期需要是行前缀查询的一部分,并且必须是行键中的前两个条目。