【发布时间】:2022-11-04 12:55:38
【问题描述】:
我正在学习 BigTable,并尝试为它设计一个好的架构
用户将有一个 ID(唯一),及时该用户将收到许多事件(这些事件没有 ID,只有时间戳是唯一的)。另外我想使用 bigTable 垃圾回收来使事件过期。
我将使用并且将来不会更改的查询:
1/ getAllEventsByUserId(按时间戳排序事件)
2/ getEventDetailByUserIdAndTimestamp
我对行键感到困惑。我应该将 user_id 作为行键还是 user_id#timestmap
根据我所知道的,仅使用 user_id 可以获得很好的查询 1 性能,但我不知道它是否对查询 2 不利。如果 user_id#timestamp 则查询 2 非常好,但查询 1 必须扫描会耗费大量资源的模式
【问题讨论】:
标签: nosql google-cloud-bigtable bigtable