假设一个处理用户的模型。用户存储在名为Users
的表中。每个用户都由一些自然标识符(分区键)唯一标识。每个用户可能在Reports
表中存储零个或多个报告。
我可以想出两种设计Reports
表的方法:
使用毫秒级别的时间戳精度,可以安全地假设在同一毫秒内可以为给定用户生成不超过一个报告(第二个精度也应该是安全的)。
推荐的方法是什么?
答案 0 :(得分:1)
这取决于每个用户的报告分布。如果用户通常每个报告很少(例如每个<100)或者所有用户的报告数量几乎相同,那么您可以使用用户ID和时间戳。
但是,如果您希望某些用户拥有更多报告,那么您应该选择使用GSI的UUID来按用户ID查找记录。