【问题标题】:Dynamo Primary Partition KeyDynamodb 主分区键
【发布时间】:2018-09-25 07:37:30
【问题描述】:
我有一个用于新闻页面的发电机表。
它由
组成
指导,
新闻日期时间,
新闻文本,
语言
构建表格的最佳想法是什么?
大多数用户会看到前五个文本项排序为新的 newsDatetime。
您可以切换语言,但每种语言都有不同的新闻。创建全新的 dynamoDB 并在语言上切换数据库是否有意义。 (这种情况很少发生)
guid 将在分区之间随机分布。但它想使用日期时间作为分区键,因为按日期时间排序。这有意义吗?
【问题讨论】:
标签:
amazon-dynamodb
partitioning
【解决方案1】:
我认为您的架构很好。为了解决您按语言过滤的需求,我建议创建一个连接 language 和 newsDatetime 的新属性。
将您的表设置为将guid 作为分区键,将newsDatetime 作为排序键。然后创建一个二级索引,将guid 作为分区键,将连接属性作为排序键。
当您需要检索任何语言的新闻时,请使用排序键按降序扫描表格。当需要过滤一种语言时,使用二级索引降序扫描,也可以使用startswith="{language}"过滤条件。