The following table lists the data types you can use with PartiQL for DynamoDB.
| Boolean | TRUE / FALSE | Not case sensitive. |
| Binary | N/A | Only supported via code. |
| List | [ value1, value2,…] | There are no restrictions on the data types that can be stored in a List type, and the elements in a List do not have to be of the same type. |
| Map | { 'name' : value } | There are no restrictions on the data types that can be stored in a Map type, and the elements in a Map do not have to be of the same type. |
| Null | NULL | Not case sensitive. |
| Number | 1, 1.0, 1e0 | Numbers can be positive, negative, or zero. Numbers can have up to 38 digits of precision. |
| Number Set | «number1, number2» | The elements in a number set must be of type Number. |
| String Set | «'string1', 'string2'» | The elements in a string set must be of type String. |
| String | 'string value' | Single quotes must be used to specify String values. |
INSERT INTO TypesTable value {'primarykey':'1',
'NumberType':1,
'MapType' : {'entryname1': 'value', 'entryname2': 4},
'ListType': [1,'stringval'],
'NumberSetType':<<1,34,32,4.5>>,
'StringSetType':<<'stringval','stringval2'>>
}
| 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 |
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 |