我有一个小问题需要一些建议:
- 假设我们有几百个数据表,每个表有几千万行。
- 数据表是时间戳(键) - 值
- 数据表每秒写入一次
每个表的最新条目应该可以快速获得,并且很可能被查询最多(类似于“实时跟踪数据”)。由于缺少“Last()”或类似内容,我正在考虑创建另一个表“LatestValues”,其中更新每个数据表的最新条目以便更快地检索。但是,这将为每个写入操作添加额外的更新。此外,大部分流量将集中在这张桌子上(好/坏?)。有没有更好的解决方案或者我错过了什么?
另外,假设我们要查询数据表中的值。既然扫描显然是不可能的,那么唯一的选择是通过复制数据来创建二级索引,有效地使存储需求和写入操作量翻倍吗?还有其他解决方案吗?
我主要关注 DynamoDB 和 Azure 表存储,但我也很好奇 BigTable 是如何处理这个问题的。