Databases Flashcards
Amazon RDS (Relational Database Service)
Managed Relational Database Service
- You manage: application optimization
- Multi-AZ Deployment configuration option
- AWS manages: OS & DB install/patches, backups, high availability, scaling, power/racking/stacking, server maintenance
- Runs in a VPC, & generates backup copy in second AZ within VPC (re-direct to backup is automatic)
DB Instance Class: CPU, Memory, Network performance
DB Instance Storage: Magnetic, GP (SSD), Provisioned IOPS
DB Engines: MySQL, Aurora, MSFT SQL Server, PostgreSQL, MariaDB, Oracle
USE IF : complex transactions/queries, med-high query/write rate (up to 30k IOPS), single node/shard, high durability
DO NOT USE IF : massive IOPS (150k), sharding, simple GET/PUT requests, customization
Billed: when running, physical capacity (engine, size, memory), storage, data transfer outbound. Can reserve instances (1y, 3y term options)
Dynamo DB
Non-Relational Database, Managed Service
- NoSQL database tables
- virtually unlimited storage
- items can have different attributes
- low-latency queries
- scalable read/write throughput
- Storage is on SSDs
- Core components: tables, items, attributes
- Primary Keys: Partition Key and Partition & Sort Key
- Find items w/o using key: SCAN
Relational vs. Non-Relational Databases
Amazon Redshift
Managed Data Warehouse Service
- Automate: management, monitoring, and scaling
- encryption at rest & in transit
- Supports standard SQL & BI tools
- Console or CLI
- Structured data
Amazon Aurora
MySQL or PostgreSQL Managed Relational Database Service
- Supports standard SQL
- stores multiple copies of data across AZs and backs up to S3
*
Amazon Database Migration Service
- AWS Database Migration Service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle or Microsoft SQL Server to Amazon Aurora.
- source database remains fully operational during the migration, minimizing downtime to applications that rely on the database
- continuously replicate data with low latency from any supported source to any supported target