In DynamoDB, the core concepts for storing data are the following:
- Tables, into which we store items
- Items, which are composed of attributes
- Attributes, which represent the data being stored in DynamoDB
DynamoDB is a distributed database running on a large number of servers, so the data needs to be stored in some kind of order. The way we determine the storage backend is with the primary key. The primary key is the attribute of an item we select for providing an even distribution of data across the cluster. There are also secondary indexes available in DynamoDB, so we can perform data ordering on attributes other than the primary key. To track changes to DynamoDB, the database service allows us to enable DynamoDB streams that help us track changes being made in the tables.