TurboTechLab Logo

AWS Managed Database Services in a Nutshell

The database services in a nutshell is a high-level overview of the various managed database services available in AWS in both RDBMS and NoSQL space.

AWS Managed Database Services offer a suite of fully managed, scalable, and secure database solutions tailored for various needs.

These AWS services handle the administrative tasks like provisioning, patching, backups, and scaling, allowing businesses to focus on innovation instead of database management.

These services ensure high availability, durability, and security; enabling seamless data storage, retrieval, and analysis for applications, analytics, and real-time use cases.

AWS in Nutshell - Database Services Cheatsheet

1. What queries do these services address for you ?

In line with the objective of the nutshell module, our focus would be on highlighting the big picture. We will look at...

Managed Database Service- (Both RDS and NOSQL)

Why should one go for managed database services ?
  • As specified above, the managed services from AWS handle a lot of the hard stuff like provisioning, patching, backups, and scaling, allowing businesses to focus more on primary business instead of database management.

  • Moreover, AWS as a cloud service provider do handle these database services for a wide variety of clients. And, with all thier experience and experties they continuously innovate their services ensuring the best of the class features and most of them through easy to use customizable options.

    • The table below list many of these useful features in brief.

Serverless Database Service

  • Aurora serverless
  • DynamoDB
  • Neptune
  • Redshift serverless
What are the significance of the serverless options ?
  • AWS provides many serverless options in Relational Databases, NOSQL databases and even in case of data warehousing solution like Redshift. These options are not only cost effective but, also, are quite capable of handling the spikes and the consistent workloads at scale.

  • These services are especially very useful when we have intermittent usage like once in a day, or a couple of times in a week, month or so. For instance, using these services only for our monthly report generations and for storing the data as and when an order is placed for a small business.

    • These services offer the flexibility of using the various useful data management features of a database without the burden of provisioning them upfront.


2. Brief Descriptions, Features & Usages of the Database Services

Amazon ServiceName DescriptionKey Features
RDBMS services
Amazon RDSManaged relational database services

1. Manages key operational tasks like provisioning, patching, backup, recovery, failure detection, and repair.
2. Amazon RDS supports multiple database engines like Oracle, MS SQL, MySQL, PostgreSQL, MariaDB etc.
Many Easy to Use Options:
- Easy to setup, deploy, clone, upgrade.
- Enhanced Monitoring and metrics generation.
Highly Scalable and Customizable Performance:
- Supports multiple storage options, elastic cache integration option.
- Improve write throughput with Amazon RDS Optimized Writes.
- Improve query processing with Amazon RDS Optimized Reads.
High Availability and Durability:
- Access point-in-time recovery with automated backups.
- Perform user-initiated backups with database snapshots.
- Achieve high availability with Amazon RDS Multi-AZ deployments.
Amazon AuroraManaged MySQL and PostgreSQL compatibility RDS with very high performance and availability at global scale.

Push-button compute scaling: Supports compute scalling up or down using Amazon RDS APIs or the AWS Management Console.
RDS Multi-AZ technology: With this we can automate failover to one of up to 15 Aurora Replicas we are allowed to create in any 3 AZs.
RDS Proxy for Failover: On failover, RDS Proxy can route requests directly to the new database instance on failover.
RDS Performance Insights: A database monitoring tool to detect performance problems and take corrective action with an easy-to-understand dashboard.
Features and Flavours of Aurora DB :

MySQL and PostgreSQL-compatible: Up to 5x and 3x higher throughput compared to MySQL and PostgreSQL respectively.
Amazon Aurora Serverless: It's is an on-demand, auto-scaling configuration for Aurora where the database automatically starts up, shuts down, and scales capacity up or down based on your application's needs.
Aurora Global Database: We can use this for globally distributed applications, where the database can span multiple AWS Regions enabling fast local reads and quick cross-region disaster recovery with a recovery time objective (RTO) of less than 1 minute.
Amazon Aurora Parallel Query(for Aurora MySQL): Provides faster analytical queries without affecting throughput for your core transaction workload.
Document DB services
Amazon DynamoDBFully managed Serverless, Key-Value & Document Database service.

- Highly scalable and designed to provide single-digit milisecond performance at any scale.

- Offer continuous backups, automated multi-Region replication, in-memory caching, and data import and export tools.
- Provides microsecond latency with Amazon DynamoDB Accelerator.
- Supports bulk import/export from Amazon S3.
- Amazon DynamoDB Streams provides a time-ordered sequence of every item level changes in it's table.
- Point-in-time feature provides continuous backup, so that you can recover upto the second during past 35 days.
- It's a very fast, scalable and feature rich database that can support many business critical needs.
Amazon DocumentDBMongoDB compatibility document database service.

Very High Storage Capacity: The storage can scale automatically up to 128 TiB in Instance-based Clusters, and 4 PiB in Amazon DocumentDB Elastic Clusters, with little to no impact to your application.
Highly Scalable: Supports millions of requests per second with up to 15 low latency read replicas in minutes, regardless of the size of your data.
Push-button compute scaling: Supports compute scalling up or down using AWS Management Console.
Fault-tolerant and Self-healing Storage: DocumentDB maintains 6 replicas spread across AZs. It's write capability remains unaffected upto the loss of 2 replicas whereas the read capability remains unaffected upto a loss of 3 copies.
Amazon DocumentDB can be used for variety of purpose where scalable, high-performance, and highly available document-based storage is essential. Here are three key usages:

Content Management Systems (CMS): It's flexible JSON document model makes it ideal for CMS platforms where content, such as articles, images, and user data, needs to be stored and retrieved efficiently with minimal structural constraints.
Real-Time Applications: Real-time applications like messaging platforms, online collaboration tools, and gaming apps benefit from DocumentDB's low-latency, high-throughput capabilities. It handles real-time data updates, user interactions, and messaging histories seamlessly, ensuring quick response times and smooth user experiences.
Catalogs and Product Information: DocumentDB is well-suited for e-commerce applications managing catalogs, product information, and inventory data. It's ability to scale horizontally supports large catalogs and accommodates high volumes of concurrent read and write operations efficiently.
Cache Service
Amazon MemoryDB for RedisManaged Redis-compatible, durable, in-memory database service with ultra-fast performance.

Support sub-millisecond latency, high throughput, and Multi-AZ durability for modern applications with microservices architectures.
Suitable for Use Cases like:
Data Persistency: Ideal for use cases where data persistence and durability are critical, such as maintaining critical stateful data.
Real-Time Analytics: Supports real-time analytics by providing a highly performant and durable data store for analytical workloads.
High Volume Transactions: For high volume retail inventory tracking and fulfilment with sub-millisecond latency.
Online Gaming Apps: Suitable for building player data stores, session history, and leaderboards for low latency and real-time updates.
Amazon ElastiCacheManaged in-memory caching service; compatible with both the Redis and Memcached engines.

Support flexible Multi-AZ placement of nodes and clusters for increased fault tolerance.

Automatic detection of and recovery from cache node failures.
Key Use Cases:
Caching: ElastiCache is suitable for caching frequently accessed data to improve application performance.
Session Store: It can be used to store session data for web applications and for stickey session implementation.
Pub/Sub Messaging: Redis in ElastiCache supports Pub/Sub messaging patterns, making it suitable event-driven architectures.
Other NoSQL Service
Amazon NeptuneManaged serverless graph database service.

It allows you to build and run applications with highly connected data.
It highly scalable and suitable for use cases like:
- Product recommendation engines.
- Fraud detection and crime investigation.
- Knowledge graphs,
- drug discovery etc.
Amazon TimestreamFully managed time-series database service for storing and analyzing time-series data at any scale.

Provides SQL-like query capabilities that allow you to aggregate, filter, and transform data based on timestamps. This can be useful for extracting insights and trends from your time-series data.
Recommended for applications that generates a high volume of time-stamped data points, such as sensor readings, log data, financial market data, or IoT device telemetry data. Amazon Timestream can handle the ingestion and storage of this data efficiently.
Amazon QLDBFully managed blockchain database service.

Blockchain service sutable for transparent and immutable transaction logs.
- QLDB is written to an append-only journal and unlike other databases the records can not be updated.
We can use it for:
- Recording supply chain asset tracking.
- Debit & credit trasaction logs.
- Immutable insrance claim history etc.
Amazon RedshiftFast, fully managed, petabyte-scale cloud Data Warehouse.

Enables you to run real-time and predictive analytics on all of your data, across operational databases, data lake, data warehouse, and thousands of third-party datasets.

You can deploy Redshift both as :
- AWS Redshift Serverless
- AWS Redshift Provisioned Clusters
Key Components in AWS Redshift -
Redshift Datashares: Securely share your data with other accounts or on the Data Exhange.
Redshift Spectrum: Query data from your Amazon S3 data lake without loading the data into Amazon Redshift tables.
Redshift ML: Simplifies SQL users to create, train, and deploy machine learning models using familiar SQL commands.
Query Editor V2: It is a web-based SQL client application to author and run queries on your Redshift data warehouse.You can visualize your results in charts and collaborate by sharing your queries with others on your team.
Amazon KeyspaceManaged Cassandra-Compatible database service.

Keyspace is a highly scalable and distributed NoSQL database :
- Designed to handle large volumes of data and
- Provides high scalability and availability.
Sitable for use cases like :
- Social Media and User Profile Management: Social media platforms and applications with millions of users benefit from Cassandra's ability to handle large amounts of user-generated content and profile data.
- Online Retail and E-commerce: Cassandra is used by online retailers to handle product catalogs, customer profiles, and transaction data. It ensures high availability and low latency, even during peak shopping periods.
- Time-Series Data Analytics: Highly sitable to store and analyze time-series data, such as stock prices, energy consumption patterns, and patient monitoring data. Its ability to handle time-stamped data and support complex querying makes it suitable for these applications.