NOSQL DATABASES & DYNAMODB

DynamoDB - Architecture (10:49)

Alt text DynamoDB Concepts

what is dynamodb?

what is the selling point of dynamodb?

Alt text 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?

Alt text DynamoDB On-Demand Backups

Alt text DynamoDB PITR

Alt text DynamoDB Considerations

how is dynamodb billed?

DynamoDB - Operations, Consistency and Performance - PART1 (13:06)

Alt text DynamoDB Reading & Writing: On-Demand / Provisioned

Alt text DynamoDB Query: Find items based on primary key values

Alt text DynamoDB Scan: Reads every item in a table or a secondary index.

DynamoDB - Operations, Consistency and Performance - PART2 (11:24)

Alt text DynamoDB Consistency Model

Alt text DynamoDB - WCU Calculation

Alt text DynamoDB - RCU Calculation

DynamoDB Local and Global Secondary Indexes (12:35)

Alt text 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)

Alt text DynamoDB Local Secondary Indexes (LSI): Alternative Sort Key

Alt text DynamoDB LSI: Using the base table’s primary key

Alt text DynamoDB Global Secondary Indexes (GSI): Alternative Partition Key & Sort Key

Alt text DynamoDB GSI: Always eventually consistent

Alt text 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)

Alt text DynamoDB - Stream Concepts

Alt text DynamoDB - Stream Architecture

Alt text DynamoDB - Trigger Concepts

Alt text DynamoDB - Trigger Architecture

DynamoDB - Global Tables (5:09)

Alt text DynamoDB - Global Tables: Overview

Alt text 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)

Alt text Traditional Caches vs DAX

Alt text DAX - Architecture

Alt text DAX - Considerations

DynamoDB - TTL (4:49)

Alt text DynamoDB - TTL: Expiring items

Amazon Athena (8:19)

Alt text Amazon Athena: Interactive SQL - Serverless Query Service

Alt text Amazon Athena - Architecture

Alt text Amazon Athena: Queries without ETL

[DEMO] Athena Demo - PART1 (13:31)

Alt text Athena Demo - Architecture

[DEMO] Athena Demo - PART2 (11:37)

Elasticache (12:51)

Alt text Elasticache - Managed in-memory database: Cache data & Reduce database load

Alt text Elasticache - Caching

Alt text Elasticache - Session State Data

Alt text Elasticache - Redis vs MemcacheD

Redshift Architecture (11:32)

Alt text Redshift: Column based, Petabyte-scale Data warehouse (OLAP)

Alt text Redshift: Server based

Alt text Redshift: Architecture

Redshift DR and Resilience (3:40)

Alt text Redshift: DR & Resilience

NoSQL Section Quiz