NOSQL DATABASES & DYNAMODB
DynamoDB - Architecture (10:49)
DynamoDB Concepts
what is dynamodb?
what is the selling point of dynamodb?
DynamoDB: Tables - Items - Attributes - Primary Key (PK): Partition Key & Sort Key (PK & SK)
what is a *primary key*?
Primary key uniquely identifies each item in the table, so that no two items can have the same key.
what is a *partition key*?
Partition key is the required part of primary key.
-
The partition key of an item is also known as its hash attribute.
-
The term hash attribute derives from the use of an internal hash function in DynamoDB that evenly distributes data items across partitions, based on their partition key values.
what is a *sort key*?
Sort key is an optional part of primary key.
- The sort key of an item is also known as its range attribute.
- The term range attribute derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.
what is capacity of dynamodb?
DynamoDB On-Demand Backups
DynamoDB PITR
DynamoDB Considerations
how is dynamodb billed?
DynamoDB - Operations, Consistency and Performance - PART1 (13:06)
DynamoDB Reading & Writing: On-Demand / Provisioned
DynamoDB Query: Find items based on primary key values
DynamoDB Scan: Reads every item in a table or a secondary index.
DynamoDB - Operations, Consistency and Performance - PART2 (11:24)
DynamoDB Consistency Model
DynamoDB - WCU Calculation
DynamoDB - RCU Calculation
DynamoDB Local and Global Secondary Indexes (12:35)
DynamoDB Secondary Indexes: Alternative views on table data
in dynamodb, what is attribute projection?
When you create an index:
- You define an alternate key for the index (partition key and sort key).
- You also define the attributes that you want to be projected, or copied, from the base table into the index.
Every secondary index is associated with exactly one table, from which it obtains its data.
(Source)
DynamoDB Local Secondary Indexes (LSI): Alternative Sort Key
DynamoDB LSI: Using the base table’s primary key
DynamoDB Global Secondary Indexes (GSI): Alternative Partition Key & Sort Key
DynamoDB GSI: Always eventually consistent
LSI & GSI Considerations
when to use gsi & lci?
Amazon DynamoDB provides fast access to items in a table by specifying primary key values.
However, many applications might benefit from having one or more secondary (or alternate) keys available, to allow efficient access to data with attributes other than the primary key.
-
GSI: Some applications might need to perform many kinds of queries, using a variety of different attributes as query criteria.
-
LSI: Some applications only need to query data using the base table’s primary key. However, there might be situations where an alternative sort key would be helpful.
DynamoDB - Streams & Lambda Triggers (9:10)
DynamoDB - Stream Concepts
DynamoDB - Stream Architecture
DynamoDB - Trigger Concepts
DynamoDB - Trigger Architecture
DynamoDB - Global Tables (5:09)
DynamoDB - Global Tables: Overview
DynamoDB - Global Tables: Architecture
what are exactly a dynamodb *global table*?
A global table is a collection of one or more replica tables, all owned by a single AWS account.
A replica table (or replica, for short) is a single DynamoDB table that functions as a part of a global table.
Source: Global Tables - How it works?
which type are global table's replica tables?
All replica tables are master/active, supports both read and write operations.
Each replica stores the same set of data items.
DynamoDB - Accelerator (DAX) (10:58)
Traditional Caches vs DAX
DAX - Architecture
DAX - Considerations
DynamoDB - TTL (4:49)
DynamoDB - TTL: Expiring items
Amazon Athena (8:19)
Amazon Athena: Interactive SQL - Serverless Query Service
Amazon Athena - Architecture
Amazon Athena: Queries without ETL
[DEMO] Athena Demo - PART1 (13:31)
Athena Demo - Architecture
[DEMO] Athena Demo - PART2 (11:37)
Elasticache (12:51)
Elasticache - Managed in-memory database: Cache data & Reduce database load
Elasticache - Caching
Elasticache - Session State Data
Elasticache - Redis vs MemcacheD
Redshift Architecture (11:32)
Redshift: Column based, Petabyte-scale Data warehouse (OLAP)
Redshift: Server based
Redshift: Architecture
Redshift DR and Resilience (3:40)
Redshift: DR & Resilience