Based on my research about the dynamo DB: https://phabricator.ashoat.com/D2950#81654
- Every DynamoDB table has a unique primary key
- A primary key [PKSK] must be composed of a partition key [PK], and can optionally have a sort key [SK].
- A GetItem request returns one and only one item using its unique primary key [PKSK].
- A Query does a fast lookup and must specify one and only one partition key [PK]. It can return multiple items.
- A Scan evaluates every item in a table and may return a subset based on filter parameters. Scans are the correct choice in some circumstances but can be slow and costly if used incorrectly.
Depends on D3176