Skip to main content

Command Palette

Search for a command to run...

SAA - C03 Certification: Database in AWS

Updated
5 min read
T

I am a dedicated software engineer with a deep passion for security and a commitment to developing robust and scalable solutions. With over three years of hands-on experience in the .NET ecosystem, I have built, maintained, and optimized various software applications, demonstrating my ability to adapt to diverse project needs. In addition to my expertise in .NET, I have six months of specialized experience working with Spring Boot and ReactJS, further broadening my skill set to include full-stack development and modern web technologies. My professional journey includes deploying small to medium-sized systems to cloud platforms and on-premises environments, where I have ensured reliability, scalability, and efficient resource utilization. This combination of skills and experience reflects my versatility and commitment to staying at the forefront of the ever-evolving tech landscape.

RDS

  • Managed PostgreSQL, MySQL, Oracle, SQL Server, DB2, MariaDB, Custom

  • Provisioned RDS Instance Size and EBS Volume Type & Size

  • Auto-scaling capability for Storage

  • Support for Read Replicas and Multi-AZ (for HA and have a standby database)

  • Security through IAM, Securities Groups, KMS, SSL in transit

  • Automated Backup with Point in time restore feature (up to 35 days)

  • Manual DB Snapshot for longer-term recovery

  • Managed and Scheduled maintenance (with downtime)

  • Support for IAM Authentication, integration with Secrets Manager

  • RDS Custom for access to and customize the underlying instance (Oracle & SQL Server)

Use cases: store relational datasets (RDMBS/OLTP), perform SQL queries, transactions

Aurora

  • Compatible API for PostgreSQL / MySQL, separation of storage and compute

  • Storage: data is stored in 6 replicas, across 3 AZ - HA, self-healing, auto-scaling

  • Compute: Cluster of DB Instance across multiple AZ, auto-scaling of Read Replicas

  • Cluster: Custom endpoints for writer and reader DB instances

  • Same security/monitoring/maintenance features as RDS

  • Know the backup & restore options for Aurora

  • Aurora Serverless - for unpredictable workloads

  • Aurora Global: up to 16 DB Read Instances in reach region, < 1 second storage replication

  • Aurora Machine Learning: perform ML using SageMaker & Comprehend on Aurora

  • Aurora Database Cloning: new cluster from existing one, faster than restoring a snapshot

Use cases: same as RDS, but with less maintenance, more flexibility, more performance, more features

ElastiCache

  • Managed Redis / Memcached

  • In-memory data store, sub-millisecond latency

  • Support for Clustering (Redis) and Multi-AZ, Read Replicas (sharding)

  • Security through IAM, Security Groups, KMS, Redis Auth

  • Backup / Snapshot, Point in time restore feature

  • Manage and Schedule maintenance

  • Requires some application code changes to be leveraged

Use cases: Key/Value store, frequent reads, less writes, cache results for DB queries, store session data for websites, cannot use SQL

DynamoDB

  • AWS proprietary technology, managed serverless NoSQL db, millisecond latency

  • Capacity modes: provisioned capacity with optional auto-scaling or on-demand capacity

  • Can replace ElastiCache as a key/value store

  • HA, multi-AZ by default, Read and Writes are decoupled, transaction capability

  • DAX cluster for read cache, microsecond read latency

  • Security, authentication/author is done through IAM

  • Event Processing: DynamoDB Streams to integrate with Lambda or Kinesis Data Streams

  • Global Table feature: active-active setup

  • Automated backups up to 35 days with PITR (point-in-time recovery), or on-demand backups

  • Export to S3 without using RCU in the PITR window, import from S3 without using WCU

  • It is great to evolve schemas rapidly

  • Use case: serverless applications development (small document 100s KM), distributed serverless cache

S3

  • Great for bigger objects, not so great for many small objects

  • Serverless, scales infinitely, max object size is 5 TB, version capability

  • Tiers: S3 Standard, S3 IA, S3 Intelligent, S3 Glacier + lifecycle policy

  • Features: versioning, encryption, replication, MFA-Delete, Access Logs,…

  • Security: IAM, bucket policies, ACL, Access Points, Object Lambda, CORD, Object/Vault Lock

  • Encryption: SSE-S3, SSE-KMS,…

  • Batch operations on objects using S3 Batch, listing files using S3 Inventory

  • Performance: Multi-part upload, S3 Transfer Acceleration, S3 Select

  • Automation: S3 Event notifications (SNS, SQS, Lambda, EventBridge)

Use cases: static files, key valuie store for big files, website hosting

DocumentDB

  • Is the same for MongoDB (like Aurora for MongoDB)

  • Similar deployment concepts to Aurora

  • Fully managed, HA with replication across 3 AZ

  • DocumentDB storage automatically grows in increments of 10 GB

  • Automatically scales to workloads with millions of requests per second

Neptune

  • Full-managed graph database

  • A popular graph database would be a social network

  • HA across 3 AZ, up to 15 read replicas

  • Build and run applications working with highly connected datasets - optimized for these complex and hard queries

  • Can store up to billions of relations and query the graph with milliseconds latency

  • Great for knowledge graphs, fraud detection, recommendation engines, social networking

  • Support for Streams (like Dynamo Data Streams)

    • Send notifications when certain changes are made

    • Maintain graph data synchronized in another data store (S3, OpenSearch,…)

    • Replicate data across regions in Neptune

Keyspaces (for Apache Cassandra)

  • Cassandra is an open-source NoSQL distributed database

  • A managed Apache Cassandra-compatible database service

  • Serverless, Scalable, HA, fully managed by AWS

  • Automatically scale tables up/down based on the application’s traffic

  • Tables are replicated 3 times across multiple AZ

  • Using the Cassandra Query Language (CQL)

  • 100s of requests per second

  • Capacity: on-demand mode or provisioned mode with auto-scaling

  • Encryption, backup, Point-In-Time recovery up to 35 days

Use cases: store IOT devices info, time-series data,…

Quantum Ledger Database

  • A ledger is a book recording financial transactions

  • Fully managed, serverless, HA, replication across 3 AZ

  • Used to review the history of all the changes made to application data over time

  • Immutable system: no entry can be removed or modified, cryptographically verifiable

  • 2-3x better performance than common ledger blockchain frameworks, manipulate data using SQL

TimeStream

  • Full-managed, fast, scalable, serverless time series database

  • Automatically scales up/down to adjust capacity

  • Store and analyze trillions of events per day

  • 100s time faster & 1/10 the cost of relational databases

  • Scheduled queries, multi-measure records, SQL compatibility

Use cases: IoT apps, operatinal applications, real-time analytics,…

11 views

More from this blog

Tuan Do's Blog

37 posts

The blog acts like a personal notebook for jotting down thoughts