我有一个时间序列数据,我想存储在 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 的时间范围内获得所有结果。例如,通过查询
teamA
between7/16/2019-8/20/2019
,我会得到:
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 的时间范围内获得最新结果。例如,通过查询
teamA
between3/1/2019-8/1/2019
,我会得到:
1 3/23/2019 teamA Data
3 7/24/2019 teamA Data
5 7/24/2019 teamA Data