【发布时间】:2020-01-24 17:51:29
【问题描述】:
我有一个时间序列数据,我想将其存储在 DynamoDB 上,涉及开发人员任务的事件(包含在数据中)。 我正在努力决定选择哪种分区键和排序键来满足我的访问需要的最佳方式。 我应该选择哪些密钥/GSI 来满足下面解释的访问需求?
数据:
TaskId Date/Time TeamId Data
1 3/21/2018 teamA Data
1 3/22/2018 teamA Data
1 3/23/2019 teamA Data
5 7/13/2019 teamA Data
5 7/15/2019 teamA Data
3 7/17/2019 teamA Data
4 7/22/2019 teamC Data
3 7/24/2019 teamA Data
4 7/24/2019 teamC Data
2 7/24/2019 teamB Data
5 7/24/2019 teamA Data
6 8/16/2019 teamA Data
6 8/19/2019 teamA Data
6 8/28/2019 teamA Data
存储:
时间序列。
访问:
- 我想在特定的 TeamId 的时间范围内获得所有结果。
例如,通过在
7/16/2019-8/20/2019之间查询teamA,我会得到:
3 7/17/2019 teamA Data
3 7/24/2019 teamA Data
5 7/24/2019 teamA Data
6 8/16/2019 teamA Data
6 8/19/2019 teamA Data
- 我想在某个时间范围内为每个 TaskId 获取具有特定TeamId 的最新结果。
例如,通过在
3/1/2019-8/1/2019之间查询teamA,我会得到:
1 3/23/2019 teamA Data
3 7/24/2019 teamA Data
5 7/24/2019 teamA Data
【问题讨论】:
-
teamX 可以在同一日期有多个任务(比如 TaskId 3 和 4)吗? teamX 可以在同一日期多次拥有相同的 TaskId(比如 TaskId 2)吗?当您说“日期”时,它实际上是日期,而不是日期/时间?
-
很抱歉给您带来了困惑。它是一个时间戳。它可能是唯一的,并且 teamX 不能在完全相同的时间拥有相同的 taskId。
标签: amazon-web-services time-series amazon-dynamodb key-value document-store