M8: Databases Flashcards
Module 8
Amazon Relational database service
Database instance which can contain multiple user created databases
You manage your application optimization
AWS manages installing and patching OS, DB software, automatic backups and high availability. Scales resources, manages power and servers, performs maintenance.
Multi AZ deployment of RDS
Automatically generates a standby copy of database in another AZ within same region
Synchronously replicates to standby copy
When to use RDS
Good for Web and mobile applications that need a DB with high throughput, massive storage scalability and high availability
When need complex transactions or complex queries
Medium to high query rate
No more than a single worker node or shard
High durability
When not to use RDS
If application requires
Massive read / write rates
Sharding due to high data size or throughput demands
Simple GET or PUT requests and queries that a NoSQL DB can handle
Or needs relational DB management system customization
RDS pricing
Consider clock hours of service time Database characteristics Capacity of database Database engine Number of databases instances Database purchase type Provisioned storage Data transfer
Amazon DynamoDB
Fast and flexible NoSQL database service for all applications that need consistent, single digit latency at any scale
Partitions data and has table storage
Stored on solid state drives
Replicate across AWS regions, encryption at rest, set item time to live
Core DynamoDB components
Tables: collections of data
Items: groups of attributes
Attributes: fundamental data element
DynamoDB primary keys types
Partition key
Sort key
DynamoDB use cases
Good for mobile, Web, gaming, as tech and iot applications
Amazon Redshift
Fast, fully managed data warehouse
Can use standard SQL
Designed to consistently deliver high performance
Uses columnar storage and massively parallel processing architecture
Automatically backs up data, can be encrypted
Amazon Redshift working
Leader node manages communications with client programs and compute nodes
Plans
Compiles code for individual elements of the execution plan and assigns the code to individual compute nodes
Can run queries against exabytes of data directly in S3
Amazon Aurora
MySQL and PostgreSQL compatible relational database
Fully managed
Highly available: multiple copies in AZs and continuous backups
Reduces restart time after crash to less than 60 seconds
Straighforward to set up
Fast, distributed storage subsystem
Retrieving data from DynamoDB
Query operation: uses partitioning to effectively locate items using the primary key
Scan: locate items in table by matching conditions on non key attributes