Concepts

Relational Databases

Relational databases store data in tables with rows and columns, much like a spreadsheet. They use Structured Query Language (SQL) to manage and query data. Relational databases are ideal for applications that require complex transactions, joins, and strong consistency.

AWS Services for Relational Databases:

  • Amazon RDS: Simplifies the setup, operation, and scaling of a relational database. It supports several database engines such as MySQL, PostgreSQL, MariaDB, Oracle, and Microsoft SQL Server.
  • Amazon Aurora: A MySQL and PostgreSQL-compatible relational database built for the cloud, offering improved performance and scalability.

Non-Relational Databases

Non-relational (NoSQL) databases are more flexible in terms of the data model and are designed to scale out by distributing data across multiple servers. They are suitable for unstructured data or where data models may evolve over time.

AWS Services for Non-Relational Databases:

  • Amazon DynamoDB: A fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
  • Amazon DocumentDB: A document database service that supports MongoDB workloads.

Serverless Database Services

Serverless database offerings are designed to abstract the server management aspect, allowing developers to focus solely on the application development. These services automatically manage the infrastructure provisioning, patching, and scaling.

AWS Serverless Database Offerings:

  • Amazon RDS Aurora Serverless: Offers an on-demand, auto-scaling configuration for the Aurora database that automatically scales compute capacity based on the workload.
  • Amazon DynamoDB: Provides a serverless NoSQL database model where the management of the underlying infrastructure is entirely handled by AWS.

In-Memory Databases

In-memory databases store data in memory rather than on disk, providing low-latency read and write access to data. These databases are ideal for applications that require real-time processing of data.

AWS Services for In-Memory Databases:

  • Amazon ElastiCache: A fully managed in-memory data store service, compatible with Redis or Memcached.

Comparison of Database Services

Feature Amazon RDS Amazon Aurora Amazon DynamoDB Amazon DocumentDB Amazon ElastiCache
Data Model Relational Relational Non-Relational (Key-Value / Document) Document-based (MongoDB Compatibility) Key-Value (In-Memory)
Query Language SQL SQL Proprietary API MongoDB Query Language Redis or Memcached API
Serverless Option RDS Aurora Serverless Aurora Serverless Yes No No
Scaling Vertical and Read Replica Scaling Vertical and Auto Scaling Horizontal, Auto Scaling Horizontal Scaling Vertical and Horizontal Scaling
Consistency Strong Strong Eventual (with strong consistent read option) Eventual (with strong consistent read option) Strong
Transaction Support Yes Yes Conditional Limited No
Use Case General Purpose, Complex Transactions High-Performance, Scalable Workloads High-Throughput, Flexible Data Model Document Store, MongoDB Compatibility Caching, Real-time Analytics

To select the appropriate database for your solution architecture, consider the data model, scaling requirements, consistency needs, and specific use cases of your application. AWS provides the flexibility to choose the correct database service that fits your application’s architectural requirements.

As an AWS Certified Solutions Architect – Associate, you should be comfortable determining when to use a particular database type and how to architect scalable and highly available database solutions using AWS services. Additionally, you would be required to have an understanding of how different AWS database services fit within the AWS ecosystem and the best practices for deploying and managing these databases.

Answer the Questions in Comment Section

True/False: A serverless database automatically manages the database hardware and server configurations for the user.

  • True

Serverless databases abstract the server management aspects away from the user, automatically handling scaling and server configuration.

Single Select: Which AWS service is a fully-managed in-memory data store compatible with Redis or Memcached?

  • A) Amazon RDS
  • B) Amazon Redshift
  • C) Amazon DynamoDB
  • D) Amazon ElastiCache

Amazon ElastiCache is a fully managed in-memory data store service compatible with Redis or Memcached.

True/False: Amazon RDS is a non-relational (NoSQL) database service.

  • False

Amazon RDS is a relational database service, and it supports several relational database management systems such as MySQL, PostgreSQL, Oracle, and others.

Multiple Select: Which of the following databases/services provides non-relational data storage on AWS? (Select two)

  • A) Amazon RDS
  • B) Amazon DynamoDB
  • C) Amazon Aurora
  • D) Amazon DocumentDB

Amazon DynamoDB is a non-relational database service providing NoSQL key-value and document storage, and Amazon DocumentDB is a document database service that supports MongoDB workloads.

True/False: Amazon Redshift is an example of a serverless database service.

  • False

Amazon Redshift is a fully managed, petabyte-scale data warehouse service, but it is not serverless, as the user has to choose the number and type of nodes.

Single Select: Which of the following is a fully-managed, serverless, key-value database that offers built-in backup and restore capabilities?

  • A) Amazon RDS
  • B) Amazon DynamoDB
  • C) Amazon Aurora
  • D) Amazon Redshift

Amazon DynamoDB is a fully-managed NoSQL database with a serverless option that offers built-in backup and restore capabilities.

True/False: Amazon Aurora automatically replicates data across multiple AWS Availability Zones.

  • True

Amazon Aurora is designed to replicate data across multiple Availability Zones automatically for high availability and data durability.

Single Select: Which of the following AWS services is a relational database that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open-source databases?

  • A) Amazon RDS
  • B) Amazon DynamoDB
  • C) Amazon Aurora
  • D) Amazon ElastiCache

Amazon Aurora is a relational database service that provides the speed and reliability of high-end commercial databases with the simplicity and cost-effectiveness of open-source databases.

True/False: AWS recommends using Amazon RDS for applications that require complex transactions and querying capabilities, typically provided by SQL databases.

  • True

Amazon RDS supports complex transactions and querying capabilities which are standard features of SQL databases, making it suitable for such applications.

Multiple Select: Which of the following services are suitable for real-time analytics and caching? (Select two)

  • A) Amazon RDS
  • B) Amazon Redshift
  • C) Amazon ElastiCache
  • D) Amazon DynamoDB

Amazon Redshift is suitable for real-time analytics due to its powerful data warehousing capabilities, and Amazon ElastiCache is suitable for caching to enhance application performance.

True/False: Amazon DynamoDB allows you to run SQL queries against your NoSQL data.

  • False

Amazon DynamoDB is a NoSQL service that does not support traditional SQL queries; however, it offers its own query and scan capabilities.

Single Select: For which of the following use cases would Amazon Neptune be the most appropriate choice?

  • A) Social networking data
  • B) E-commerce shopping carts
  • C) Financial transactions logging
  • D) Traditional business reporting

Amazon Neptune is a graph database service which is well-suited for dealing with highly-connected data typically found in social networking applications.

0 0 votes
Article Rating
Subscribe
Notify of
guest
27 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Diocléia da Mata
6 months ago

Thank you for this blog post! It’s very insightful.

Sabrina Gerber
8 months ago

Could someone explain the difference between relational and non-relational databases?

Esmeraldo Silva
7 months ago

How would you compare DynamoDB and RDS for a project that requires rapid development?

Sahar Andorsen
7 months ago

What are some advantages of in-memory databases?

Austin Woods
7 months ago

Appreciate the well-structured content!

Francisco Moreno
7 months ago

Can someone explain what ‘serverless’ means in the context of databases?

Noelle Gomez
8 months ago

This blog post clarified a lot of concepts for me. Thanks!

Luit Van Houten
7 months ago

I’ve had some latency issues with RDS. Any tips to improve it?

27
0
Would love your thoughts, please comment.x
()
x