This is an old revision of the document!
Dynamo DB
Indexing
Partition Key (alias “Hash Key” | A column, chosen to be hashed, to distribute data on DB-nodes. This is part of the reason DynamoDB is so scalable. Because it can hash your data inputs into an arbitrary number of storage nodes https://www.beabetterdev.com/2022/02/07/dynamodb-partition-key-vs-sort-key/ |
Sort Key (alias “Range Key”) |
is a secondary DB key that you can optionally decide to use alongside your Partition Key. By using a Sort key, we’re also able to perform what I call “range-like” queries on our Sort Key values.
|
Composite primary Key | Partition key + Sort Key |
Local Secondary Indexes \\(LSI) |
Local Secondary Index is like an additional sort-key.
https://stackoverflow.com/questions/21381744/difference-between-local-and-global-indexes-in-dynamodb Facts:
|
Global Secondary Indexes (GSI) | |
Sparse index | Sparse Index is a special type of GSI that allows you to index only a subset of the collection by indexing an attribute that is not present on all the items. This technique is useful to quickly query for a set of items that have a specific attribute value, e.g. only rows that have an attribute deletedAt defined. To create a sparse index, make sure that only items that should be in that index - have a value of that index-sort-key present. |
Inverted index |
QA
Question: When to use this one, when to use a relational DB?
Answer: The Dynamo DB has a limited indexing-ability
Glossary:
Term | Value |
Term | Value |
primary key | Value |
sort key | Value |
Global secondary index | Value |
Local secondary index | Value |
Term | Value |
### Query vs Scan