NoSQL Databases & DynamoDB Flashcards
NoSQL fully managed Database-as-a-Service (DBaaS) product available within AWS. It is highly resilient across multiple AZ in a region or globally
DynamoDB
Does DynamoDB have self-managed servers or infrastructure?
No
database with Manual / Automatic provisioned performance IN/OUT that is SSD based with single-digit millisecond access to data
DynamoDB
True As-A-Service performance model for DynamoDB
On-Demand
Is data replicated over multiple nodes in DynamoDB?
Yes
Does DynamoDB support encryption at rest?
Yes
Grouping of items in DynamoDB which all share the same Primary Key
Table
in DynamoDB the Simple (partition) key or Composite (partition & Sort) key are part of the
Primary Key
The speed of writes and reads on a table within DynamoDB
Capacity
in DynamoDB 1 WCU (Writes) = _____KB per second
1
in DynamoDB 1 RCU (Read) = _____KB per second
4
Two types of backups in DynamoDB
On-Demand & Point-In-Time Recovery
Full backup of a table in DynamoDB similar to RDS Snapshots
On-Demand
A continuous stream of backups of a DynamoDB Table over 35 days that needs to be enabled on a per-table basis
Point-In-Time Recovery
The capacity mode used with an unknown, unpredictable load or low admin overhead on a DynamoDB table
On-Demand
The capacity mode in DynamoDB where the RCU and WCU are set on a per-table basis
Provisioned mode
Operation to retrieve data from a product within a DynamoDB table which accepts a single PK value or optionally an SK
Query
Most flexible way to get data from a DynamoDB table but the least efficient by moving through the table and consuming the capacity of every item
Scan
Reading DynamoDB data which is directed at a random node across the AZs. Possible to return with stale data if a node is checked before replication completes
Eventually Consistent reads
Reading DynamoDB data that is directly connected to the leader node which always returns the most up-to-date copy of data
Strongly Consistent reads
WCU per item (Item size / 1kb) rounding up then multiplying the average number of items per second
WCU calculation
RCU per item (Item size / 4kb) rounding up then multiplying by the average read ops per second
RCU calculation
allow for an alternative presentation of data stored in a base table within DynamoDB
Local Secondary Indexes (LSI) and Global Secondary Indexes (GSI)
Alternative querying using the same primary key but a different sort key within a table in DynamoDB
Local Secondary Indexes (LSI)
Alternative querying using a different primary key and different sort key within a table in DynamoDB
Global Secondary Indexes (GSI)
Are GSI always eventually consistent?
Yes
24 hour rolling window of time ordered changes to ITEMS in a DynamoDB table
DynamoDB Streams
Event driven architecture that can respond to any data changes in a table using Streams + Lambda
Database Triggers
Provides multi-master global replication of DynamoDB tables which can be used for performance, HA or DR/BC reasons. Tables are replication in multiple regions and added to a single table
DynamoDB Global Tables
Speed of replication between table replicas for DynamoDB Global Tables
Sub-Second
in-memory cache designed specifically for DynamoDB designed for fast response times for accessing Eventually Consistent Data. There is a primary Node which writes and replica nodes that read spread across AZs
DynamoDB Accelerator (DAX)
is DAX a public service or must it be deployed within a VPC?
Within a VPC
Is DAX a good choice for strongly consistent data?
No
Allows you to define a per-item timestamp to determine when an item is no longer needed. DynamoDB deletes the item from your table without consuming any write throughput
Amazon DynamoDB Time to Live (TTL)
Serverless querying service which allows for ad-hoc questions where billing is based on the amount of data consumed.
Amazon Athena
Tables are defined in advance in a data catalog and data is projected through when read, it allows SQL-Like queries on data without transforming source data
Amazon Athena
Used for ad-hoc, sporadic and cost-effective queries which don’t require transforming or loading of data. Great to use for querying AWS Service Logs due to it’s native support of them.
Amazon Athena
Query for Athena which supports non-S3 data source querying that is run on Lambda
Athena Federated Query
a High performance, cost-effective managed in-memory cache of temporary data which provides a managed implementation of the redis or memcached engines
Elasticache
Used to cache data for read-heavy workloads with low latency requirements or storing session data for users
Elasticache
Do you need to make application changes when using Elasticache?
Yes
Allows cost effective scaling of read-heavy workloads with the ability to improve performance at scale
In-Memory Cache
Elasticache supported engine that supports simple data structures with no replication but supports multiple nodes without backups. Supports multithreading
Memcached
Elasticache supported engine that supports advanced data structures, with Multi-AZ capability and replication. Allows for backup and restore with support for Transactions
Redis
A server using, column-based, petabyte-scale, data warehousing product within AWS that lets you access and analyze data without the usual configurations of a provisioned data warehouse
Amazon Redshift
Designed for OLAP products within AWS/on-premises to add data to for long term processing, aggregation and trending
Amazon Redshift
Directly querying S3 in Redshift without loading data into redshift itself
Redshift Spectrum
Directly querying other DB in redshift
Redshift Federated Query
Is Redshift highly available or tied to a cluster in one AZ in a VPC?
Tied to a cluster in one AZ
Routing of Redshift traffic that allows traffic to be routed based on the VPC network configuration or traffic that requires customized networking requirements
Enhanced VPC Routing