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 |