Choosing an AWS NoSQL Database - Choosing an AWS NoSQL Database

Choosing an AWS NoSQL Database

Publication date: April 25, 2023 (Document revisions)

Over the past decade, modern applications have started using NoSQL databases to manage the three Vs commonly associated with Big Data applications:

  • Volume — Amount of data

  • Velocity — Speed with which data is generated

  • Variety — Structured and unstructured data generated by humans or machines

NoSQL does not describe one single technology. it is a variety of non-relational technologies and architectures aiming to address the challenges of new use cases. Some of the popular types of NoSQL databases include key-value, document, graph, and wide-column. These databases are becoming more popular as organizations create larger volumes and a greater variety of unstructured data.

NoSQL databases help developers manage the challenge of ever-expanding diversity of data types and data models, and are highly effective at handling unpredictable data, often with faster query speeds. Different NoSQL database options are available, and finding the right NoSQL database remains challenging because there are many options with varying architectures.

To help navigate the selection process, this whitepaper provides guidance on selecting the right NoSQL database for specific use cases. It is intended for cloud architects, database architects and application developers building modern applications on AWS and considering using a NoSQL database.

Introduction

For decades, the predominant data model used for application development was relational databases. The relational model has been the mainstay of data storage systems since its inception by Edgar F. Codd in 1969. Commercially, vendors such as IBM, Oracle, and Microsoft have had tremendous success with their database products, which are all based on the relational model.

The amount of data that exists today is growing at an unprecedented rate, and this has put an increasing amount of pressure on the database systems that are tasked with storing and managing this data. Modern business systems manage increasingly large volumes of heterogeneous data. This is driven in part by the adoption of microservices, the Internet of Things (IoT), the amount and size of the data being captured, and the requirements for many types of specialized analytics.

To address these challenges, NoSQL databases have gained increased acceptance when developing modern business systems. NoSQL databases are purpose-built for specific data models, and allow for flexible schemas to meet these modern storage and heterogeneous data requirements.

At AWS, we recognize that different NoSQL database technologies solve different problems. Consider this AWS Bookstore Demo Application as an example. It contains multiple experiences such a shopping cart, product search, recommendations, and a “top sellers” list.

For each of these use cases, the app makes use of a purpose-built database, so the developer never has to compromise on functionality, performance, or scale. However, selecting the right NoSQL database can be a complex and challenging process due to the different types of NoSQL databases available, each with its own strengths and weaknesses.

To make an informed decision, it is important to consider several key factors, including the data model, scalability, consistency, availability, and durability. This whitepaper provides guidance on selecting the right NoSQL database for specific use cases by offering a detailed comparison of the five most common AWS noSQL databases and their features, insights into the strengths and limitations of different databases, understand their use cases, and use the decision framework to make an informed decision on which database to choose based on your specific needs.

Are you Well-Architected?

The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems.

Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.

For more expert guidance and best practices for your cloud architecture—reference architecture deployments, diagrams, and whitepapers—refer to the AWS Architecture Center.