From 5c0ffb2c071272ef5bf8adbedce1995c7a96eb63 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Mon, 10 Jun 2024 19:15:04 +0100 Subject: [PATCH] Autosave: 2024-06-10 19:15:04 --- .zk/notebook.db | Bin 3481600 -> 3481600 bytes zk/DynamoDB.md | 23 +++++++++++------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.zk/notebook.db b/.zk/notebook.db index 348906edca76dd8bf30bdea40ef5fbcd6c8a383d..1a7019da2a8ddf8b0fc352286cd33ebbfd2db62b 100644 GIT binary patch delta 4395 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 delta 6011 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 EkDM!E-T(jq diff --git a/zk/DynamoDB.md b/zk/DynamoDB.md index c18ce84..7aca0f0 100644 --- a/zk/DynamoDB.md +++ b/zk/DynamoDB.md @@ -20,7 +20,7 @@ non-relational meaning there cannot be JOIN operations via ### 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. +and the rest of the attributes are effectively the "value" associated with it. 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. @@ -47,8 +47,8 @@ using an alternate key. A **global secondary index** is useful for querying data that needs to be accessed using non-primary key attributes. For example, if you have a Users -table with UserID as the primary key but often need to fetch users by their -Email, a GSI on Email would be appropriate. +table with `UserID` as the primary key but often need to fetch users by their +`Email`, a GSI on `Email` would be appropriate. There are also **local secondary indices** but I don't understand the difference. @@ -96,20 +96,19 @@ project: ], "Projection": { "ProjectionType": "ALL" - }, - "ProvisionedThroughput": { - "ReadCapacityUnits": 1, - "WriteCapacityUnits": 1 } } - ], - "ProvisionedThroughput": { - "ReadCapacityUnits": 1, - "WriteCapacityUnits": 1 - } + ] } ``` +This defines the attribute `activity_start_end` as the primary key. This string +(`S`) value is a concatenation of three attributes, which is a way of ensuring +each entry for the attribute will be unique. + +I also define two GSIs. -- check that these are correct for getting entries by +range! + ## Usage ## Related notes