Databases on AWS: How to Choose
Publication date: August 16, 2022 (Document revisions)
Abstract
Amazon Web Services (AWS) offers 15+ purpose-built database engines to support diverse data models, including relational, key-value, document, in-memory, graph, time series, wide column, and ledger databases. With so many choices comes the responsibility for architects to pick the right database(s) for your use case requirements. The guidance in this paper is intended to help you ask the right questions to discover your requirements, and provide clear guidance on how to evaluate databases and their options.
Introduction
AWS provides multiple options for hosting databases, ranging from hosting your own database on AWS infrastructure to using a fully managed database with and without serverless options.
With hosted databases, AWS provides the infrastructure to host the
custom database of choice. It’s still your responsibility to take
care of the management needs of the database, such as operational
(software installation, configuration, patching, and backups),
availability, performance, scalability (capacity planning and
scaling clusters for compute and storage), and security (network
isolation, encryption, compliance programs such as
PCI
With
fully
managed
The choice within managed databases expands further. You can lift
and shift your self-managed databases such as Oracle, SQL Server,
MySQL, PostgreSQL, and MariaDB to
Amazon Relational Database Service
Non-relational databases such as MongoDB and Redis can be used as document and in-memory databases for use cases such as content management, personalization, mobile apps, catalogs, and real-time use cases such as caching, gaming leaderboards, and session stores. In most cases, workloads and applications can be migrated to a managed service without needing to rearchitect your applications, using the same database skill sets.
It’s a recommended
microservice
architecture pattern