SAA - C03 Certification: Database in AWS
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,…