Databases Summary


SAA-C03 Introduction
RDS vs. EC2
RDS vs. EC2
Amazon DynamoDB
DynamoDB Accelerator
SAA-C03 Review
Start course
2h 52m

This section of the Solution Architect Associate learning path introduces you to the AWS database services relevant to the SAA-C03 exam. We then understand the service options available and learn how to select and apply AWS database services to meet specific design scenarios relevant to the Solution Architect Associate exam. 

Want more? Try a lab playground or do a Lab Challenge

Learning Objectives

  • Understand the various database services that can be used when building cloud solutions on AWS
  • Learn how to build databases using Amazon RDS, DynamoDB, Redshift, DocumentDB, Keyspaces, and QLDB
  • Learn how to create Elasticache and Neptune clusters
  • Understand AWS database costs
  • Learn about data lakes and how to build a data lake in AWS

You're deep into the learning path now, and we've covered off compute, storage, networking, and now databases. So congratulations on getting this far. So again, let's take a recap of some of the most important elements that you need to be aware of for the exam. For me personally, when I was studying for the AWS Solutions Architect Associate exam, I found databases the hardest aspect to grasp and I'm sure I'm not alone from that perspective but you've got through the theory which is the hardest part. Okay, let's focus on the essential must-know points for the certification, and this mainly covers RDS, DynamoDB, and ElastiCache. So RDS, let's hit the key points. So what is RDS? It's a managed relational database service, which means all of the patching required of the underlying instance and software that runs RDS is going to be managed by AWS. 

In addition to automated backups of your database. So that again will be managed by AWS as well. So this takes a lot of the administrative burden out allowing you to just work on the data within your databases. So even though automatic backups are taken care of you can still perform your own manual snapshot backups. Now, because it's managed, it's quick and easy to set up. It has a range of different database engines available to suit your needs, and if you couple this with a scalable and resizable capacity delivery of high performance then this is a great choice for mobile and web applications in addition to e-commerce applications as well. Now, remember, if you need to build in high availability to your audience database you'll need to use the Multi-AZ feature of RDS to offer additional resiliency in case your primary instance fails. Now, we will talk more about high availability in a later course in this learning path, but Multi-AZ and read replicas will very likely come up in the exam. 

So the previous course gave a good introduction to these features, but we will dive into them more in more detail in a later course. I want to point out Aurora which is one of the database engines of RDS and its compatibility with MySQL and PostgreSQL. It's highly likely that Aurora will be mentioned in the exam and it's usually in relation to performance and cost-related questions. Now, this is because it can run fives times faster than MySQL and three times faster than PostgreSQL while still maintaining tight security, reliability, and availability, and its also extremely cost-effective operating at just one 10th of the cost of other databases. Now it's also capable of running 15 read replicas and it can operate across three different availability zones while continuously backing up allowing to recover to any point in time, so it's super powerful. So let's see how RDS compares to DynamoDB. So the first big difference to RDS is that it's not a relational database service. 

It's a NoSQL key-value database. It's super fast designed for ultra-high performance and capable of handling up to 20 million requests per second. It's massively scalable, multi-regional, and can scale with single-digit latency regardless of how big the database gets. Whereas with RDS, the larger the database the slower it can get, but with DynamoDB it maintains the ultra-low latency so make sure you bear that in mind. Much like RDS though, it's fully managed. So again, you just need to focus on your data as all patch management and backups are taken care of by AWS but instead of having to select an instance like RDS, there is no need to with DynamoDB as it's serverless. Now, you will find that due to these features it's used for applications related to gaming, media and entertainment, finance and banking, and any solutions that require that single-digit millisecond latency. 

Okay, so let's now take a look at Amazon ElastiCache. So ElastiCache makes it easy to deploy, operate, and scale open-source, in-memory data stores in the cloud. So it basically improves performance of your applications through caching. Now, one key point to note for the exam is that it supports two different engines, Memcached and Redis. So I recommend you have a solid understanding of when to use each engine. Now, genuinely if you are looking for an in-memory key store and or cache that offers high-performance sub-millisecond latency, then Memcached is your best choice. 

And it's also recognized for its speed, performance, and also its simplicity as well. Whereas Redis offers a more robust set of features of that of Memcached while still offering that ultra high performance. So a common scenario might come across could be that you have a web application that reads and writes data to a persistent storage, for example, RDS, but however persistent storage tends to experience some fluctuations in latency as each piece of data needs to be written to or retrieved and this is affecting the overall performance. 

So what could you do to enhance the performance of read requests? Well, the answer would be to implement an in-memory cache like ElastiCache, and this is especially true in industries such as online gaming and social networking sites.

So that's some of the top points I suggest you must note when looking at databases for the exam. So to recap at a high level, RDS is a managed relational database service that supports multiple database engines specifically Amazon Aurora, which is highly performance and cost-effective, and it's a PostgreSQL and MySQL compatible engine. Whereas DynamoDB is a managed serverless, NoSQL database service designed for ultra-high performance, providing single-digit latency. And ElastiCache is used as an in-memory data store to improve the read performance of your applications through caching and is supported by Redis and Memcached. Okay, so that's the short summary wrapped up. So if you're ready, let's take the next step to become an AWS certified.

About the Author
Learning Paths

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.