首页 > 解决方案 > 如何为分层模型选择分区和排序键

问题描述

如果这不是问这个问题的正确地方,请告知。

我正在尝试为涵盖以下查询模式的简单关系模型(卖家有很多客户,客户有很多订单)找到合适的分区键/排序键对:

我的订单 ID 格式为yyyy-mm-dd-random_string,因此可以按日期排序。每个订单只有一件商品。

seller_id用作分区键和排序键涵盖了第一个用customer_id#order_id例,但没有办法“跳过”客户。

如何从同一记录中获取这两个查询?

奖金:

标签: amazon-dynamodbdynamodb-queries

解决方案


seller_id为了支持您的第二个查询,您需要在和上创建二级索引order_id

有一种方法可以在没有二级索引的情况下做到这一点,但它需要全表扫描。

在分层键模式中“跳过”字段的一般方法是创建一个 GSI,其键省略您正在“跳过”的字段。


推荐阅读