I have a time-series data which I want to store on DynamoDB, regarding events of developer tasks (contained in Data). I'm struggling to decide what partition key & sort key to choose to serve my access needs the best way. What keys / GSI should I choose to serve my access needs that are explained below?
Data:
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
Storing:
Time-series.
Accessing:
- I would like to get all results within a timeframe with a specific TeamId.
For example, by querying for
teamA
between7/16/2019-8/20/2019
, I would get:
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
- I would like to get latest results within a timeframe with a specificTeamId, for each TaskId.
For example, by querying for
teamA
between3/1/2019-8/1/2019
, I would get:
1 3/23/2019 teamA Data
3 7/24/2019 teamA Data
5 7/24/2019 teamA Data