我想在Bigtable中创建一个最佳的行键。我有一个表channel_data
,它有3列:channel_id
、date
、fan_count
。
channel_id | 日期 | fan_count |
---|---|---|
1 | 2022-03-01 | 5000 |
1 | 2022-03-02 | 6000|
2 | 2022-03-01 | 200 |
2 | 2022-03-02 | 300 |
3 | 2022-03-03 | 1000 |
这里有几个选项。因为您希望根据日期进行查询,所以您可能应该将其作为行键的末尾部分,这样您就可以先按品牌进行搜索。您还可以使用带时间戳的单元格为每个通道存储多个值。也许是一周或一个月的数据,所以以这种方式将其分组在一起,但这不是必要的。
也许像channel_id/yyyy-mm-dd
这样的行键就是您想要的。你可以选择将日期和频道信息存储在表中,但没有必要,因为你的id中已经有了它。在这种情况下,您可以将Bigtable视为键/值存储,根据您的场景,这可能更为优化。
如果选择每行存储一个月的数据,那么只需将rowkey设置为类似channel_id/yyyy-mm
的值,并为当天的每个值加上时间戳。
无论哪种方式,如果您需要多个通道,那么您都可以进行多次读取或多前缀扫描。请告诉我这是否有助于澄清模式设计,以及您是否有更多问题。