2024-06-09 17:30:03 +01:00
|
|
|
---
|
|
|
|
id: xowl
|
|
|
|
title: DynamoDB
|
2024-06-10 07:30:04 +01:00
|
|
|
tags: [AWS]
|
2024-06-09 17:45:04 +01:00
|
|
|
created: Sunday, June 09, 2024
|
2024-06-09 17:30:03 +01:00
|
|
|
---
|
|
|
|
|
2024-06-09 17:45:04 +01:00
|
|
|
# DynamoDB
|
2024-06-09 17:30:03 +01:00
|
|
|
|
2024-06-10 07:30:04 +01:00
|
|
|
## Data structure
|
|
|
|
|
2024-06-10 17:45:05 +01:00
|
|
|
### Non-relational tables
|
|
|
|
|
2024-06-10 07:45:04 +01:00
|
|
|
DynamoDB is "NoSQL" because it does not support #SQL queries and is
|
|
|
|
non-relational meaning there cannot be JOIN operations via
|
|
|
|
[foreign_keys](Foreign_keys_in_SQL.md)
|
2024-06-09 17:30:03 +01:00
|
|
|
|
2024-06-10 17:30:00 +01:00
|
|
|

|
|
|
|
|
2024-06-10 17:45:05 +01:00
|
|
|
### Primary key
|
|
|
|
|
|
|
|
Although the data is stored as a table, one of the attributes is a primary key
|
|
|
|
and the rest of the attributes are effectively the values associated with it.
|
2024-06-10 17:30:00 +01:00
|
|
|
|
|
|
|
Because DynamoDB is schemaless, neither the attributes or their data types need
|
|
|
|
to be defined beforehand and each item can have its own distinct attributes.
|
|
|
|
|
2024-06-10 17:45:05 +01:00
|
|
|
Each item in the table is uniquely identifiable by its primary key.
|
|
|
|
|
|
|
|
There are two types of primary key available:
|
|
|
|
|
|
|
|
- partition key: a simple primary key composed of one attribute only. Because
|
|
|
|
the primary key is hash-mapped items can be retrieved very rapidly using the
|
|
|
|
primary key.
|
|
|
|
|
|
|
|
- composite key: this comprises a partition key and a _sort key_ both of which
|
|
|
|
are attributes
|
|
|
|
|
|
|
|
However, you can also set one or more **secondary indices**. A secondary index
|
|
|
|
lets you query the data in the table using an alternate key, in addition to
|
|
|
|
queries against the primary key. DynamoDB doesn't require that you use indexes,
|
|
|
|
but they give your applications more flexibility when querying your data.
|
2024-06-10 17:30:00 +01:00
|
|
|
|
2024-06-10 07:30:04 +01:00
|
|
|
## Usage
|
|
|
|
|
|
|
|
## Related notes
|