【发布时间】:2020-04-23 19:36:41
【问题描述】:
我正在尝试使用DynamoDB 创建一个营业时间应用程序。
我看到了很多不同数据库的示例和架构设计,但找不到适合 DynamoDB 的表设计。
这是我的要求:
- 每个商家都应该有默认的工作时间(周一 08:00 - 14:00, 16:00 - 20:00)和特殊活动(26/11/2020 商店在 10:00 - 14:00 之间关闭/营业)由于感恩节)
- 每天可以有多个工作时间(08:00 - 14:00、16:00 - 20:00)
这些是我需要允许的操作:
- 为每个企业创建/编辑工作时间(包括特殊活动)
- 通过提供企业 ID 列表来检查企业(或企业列表)是否正在营业。
- 通过提供企业 ID 列表和每个 ID 的日期范围,获取 2 个日期(例如 23/04/2020 至 25/04/2020)之间的企业(或企业列表)工作时间
我尝试过的:
定义了一个表,其中业务 ID 是 partition key (HASH),特殊日期/星期几是 sort key (RANGE)。
这种方法的问题是我不能按多个营业时间查询,除非我使用scan api,由于操作昂贵,不推荐使用。
请建议我应该为这个应用程序使用什么样的表格设计。
【问题讨论】:
标签: database amazon-web-services database-design amazon-dynamodb