我有一个用于新闻页面的发电机表。
它由
组成指导, newsDatetime, newsText, 语言
构造表的最佳方法是什么?
大多数用户会看到订购新newsDatetime的前五个文本项。
您可以切换语言,但是每种语言都有不同的新闻。创建全新的dynamoDB并在语言上切换DB是否有意义? (很少会发生)
guid将在分区之间随机分配。但由于按日期时间排序,因此它想将日期时间用作分区键。这有道理吗?
答案 0 :(得分:0)
我认为您的架构很好。为了满足您按语言进行过滤的需求,建议您创建一个将language
和newsDatetime
串联起来的新属性。
将表设置为将guid
作为分区键,并将newsDatetime
作为排序键。然后创建一个辅助索引,将guid
作为分区键,并将串联的属性作为排序键。
当需要检索新闻时,无论使用哪种语言,都可以使用排序键以降序扫描表格。当您需要过滤语言时,请使用降序的二级索引扫描,也可以使用startswith="{language}"
过滤条件。