Summary of Amazon RDS
Amazon RDS is a managed service supporting multiple database engines including PostgreSQL, MySQL, Oracle, SQL Server, DB2, and MariaDB.
Provisioning involves selecting instance size and EBS volume type and size, with auto-scaling available for storage.
Read replicas enable scaling read operations, while Multi-AZ deployments provide high availability with standby databases.
Security is managed through IAM authentication, security groups, KMS encryption, and SSL/TLS.
Automated backups allow point-in-time recovery up to 35 days, with manual snapshots for long-term retention.
Maintenance is scheduled and managed by AWS, which may cause downtime during updates.
RDS Proxy integrates with IAM and Secrets Manager to manage database credentials securely.
RDS Custom allows access to underlying instances for Oracle and SQL Server databases for customization.
Amazon RDS is ideal for relational databases and online transaction processing (OLTP) workloads requiring SQL queries and transactions.
Amazon Aurora Overview
Amazon Aurora supports PostgreSQL and MySQL compatible APIs.
Storage and compute are separated, with storage replicated six times across three Availability Zones for high availability.
Compute instances are clustered and can be scaled with read replicas and custom writer and reader endpoints.
Aurora offers features like Serverless for unpredictable workloads, Global Database for multi-region replication, Machine Learning integration, and fast Database Cloning and can perform storage replica within 1 sec
ElastiCache
Amazon ElastiCache is a managed Redis or Memcached service for caching on AWS.
It provides sub-millisecond latency by using in-memory data stores.
ElastiCache requires modifying application code to leverage caching.
It is suitable for caching database queries and storing session data but does not support SQL queries.
DynamoDB
Amazon DynamoDB is a managed, serverless, NoSQL database offering millisecond latency.
It offers two capacity modes: provisioned capacity with optional auto scaling, and on-demand capacity for unpredictable workloads.
DynamoDB supports high availability across multiple availability zones and provides features like transactions, TTL for expiring data, and DAX for microsecond read latency.
Integration with AWS services includes IAM for security, DynamoDB Streams for event processing with Lambda, and Kinesis Data Streams for extended data retention and processing.
Global tables enable active-active replication across multiple regions.
Backup options include point-in-time recovery for up to 35 days and on-demand backups for longer retention.
DynamoDB supports exporting and importing tables to and from Amazon S3 without consuming read capacity units.
It is ideal for serverless applications requiring flexible schema and small document storage or as a distributed serverless cache.
Amazon S3 Overview from a Database Perspective
Amazon S3 is a serverless key-value object store optimized for large objects, with a maximum object size of five terabytes.
It supports versioning, multiple storage tiers, encryption options, and lifecycle policies for managing data.
Security features include IAM, bucket policies, ACLs, Access Points, MFA deletes, and encryption both at rest and in transit.
Performance enhancements include multi-part uploads, transfer acceleration, and S3 Select for retrieving specific data.
Automation is enabled through event notifications integrated with SNS, SQS, Lambda, and Event Bridge.
Common use cases include storing static files, large objects, and website hosting.
DocumentDB
DocumentDB is AWS’s managed, scalable, and highly available NoSQL database service compatible with MongoDB.
It stores, queries, and indexes JSON data similarly to MongoDB.
DocumentDB replicates data across three availability zones and automatically scales storage in 10 GB increments.
For exam purposes, associate MongoDB or NoSQL database questions with DocumentDB and DynamoDB.
If serverless and global service then go for DynamoDb than DocumentDB
Amazon Neptune Overview
Amazon Neptune is a fully managed graph database optimized for highly connected datasets.
It supports replication across three availability zones and up to 15 read replicas for high availability.
Neptune Streams provide a real-time, ordered sequence of data changes accessible via HTTP REST API.
Use cases for Neptune Streams include sending notifications on data changes, synchronizing data to other stores, and replicating data across regions.
Keyspaces (for Apache Cassandra)
Amazon Keyspaces is a managed Apache Cassandra service on AWS.
It is serverless, scalable, highly available, and fully managed by AWS.
Keyspaces automatically scales tables based on application traffic and replicates data across multiple availability zones.
It supports Cassandra Query Language (CQL) with single-digit millisecond latency and thousands of requests per second.
Offers two capacity modes: on-demand and provisioned with auto-scaling, similar to DynamoDB.
Provides encryption, backup, and Point-In-Time Recovery up to 35 days.
Common use cases include storing IoT device information and time-series data.
For exam purposes, associating Apache Cassandra with Amazon Keyspaces is sufficient.
Amazon Timestream
Amazon Timestream is a fully managed, fast, scalable, and serverless time series database.
It automatically scales capacity and can store and analyse trillions of events per day.
Timestream offers full SQL compatibility, scheduled queries, and time series analytics functions.
It integrates with various AWS services and supports encryption in transit and at rest.