Primary key
DynamoDB, being a key-value pair database, does not index on all given attributes for a given item; it only indexes on the primary key, which is a mandatory attribute for each item of the table.
DynamoDB supports two types of primary keys:
- Hash primary key
- Hash and range primary key
Hash primary key
Each DynamoDB table must have a hash primary key that is unique for each item. DynamoDB builds an unordered hash index on this key that allows us to uniquely identify any given item for a given table. So, while designing your table, you must choose an attribute that would have a unique value for each attribute. For example, while creating Person
table, choosing
Social Security Number (SSN) as a hash key would be a better option as compared to selecting a person's name as hash key, as there might be more than one person having the same name.
Hash and range primary key
Along with the hash key, DynamoDB also supports another primary key called range key, which can be used in combination...