9 Types of AWS Databases and its purposes
Tags: aws, database, cloud
Published: 2021-11-06 15:01:14

9 types of managed database services available from AWS. They fall into two primary categories
 1) relational 
 2) NoSQL databases.

The Amazon Relational Database Service is the managed service providing relational databases.  
The engines include Amazon Aurora, MySQL, MariaDB, Postgres, Microsoft SQL Server, and Oracle.

The managed NoSQL database offerings include Key-Value stores, Document stores, In-Memory Databases, Graph stores, Time Series stores, Ledger databases, and Search databases.

Amazon DynamoDB is a key-value store.  Data is accessed using a key that retrieves a value.  It’s a binary operation.  Data is returned or it isn’t.

Amazon DocumentDB is a document database.  Document databases store semi-structured data and the data structure is embedded in the document, itself.  Data is accessed using a key but the value, because it can have a structure, can also be queried to return specific information.

Amazon ElastiCache is an in-memory store.  The primary use case for an in-memory store is caching. A cache improves database performance by serving often requested data from memory instead of from a disk or from a memory-intensive calculation. 

Amazon Neptune is a graph database.  Graph databases store and analyze the relationships between things.  Graph databases can visualize people in terms of a social network but they can also be used to see how systems and processes are connected.

Amazon Timestream is a Time Series database.  Time series databases answer questions about trends and events.  While it is a type of key-value store with the time as the key, a time series database looks at ranges of data points to calculate answers.

Amazon Quantum Ledger Database is a ledger database.  A ledger database uses cryptographic controls to ensure that the data stored is immutable.  Records are not edited.  Instead, when information changes, new versions of the record are created.  It also uses a blockchain to ensure data integrity.  When a hash is created to verify data integrity it uses the data along with the hash from the previous record.  If the chain is tampered with, the chain will be broken.

Amazon Elasicsearch Service is a search database.  Search databases create indexes to help people find important information.  Web searching is a common application but searching is also done in product catalogs, enterprise documentation, and in content management systems.

Relational databases are best for transactional workloads that have highly-structured data and require ACID compliance.  ACID compliance means that transactions will take a database from one stable state to another stable state.  

Relational databases can scale but, when they do, it is done vertically.  They’re made bigger by adding more CPU, memory, or expanding existing storage.

Relational databases are often used for online transactional processing applications.  These types of applications usually work on small amounts of data per transaction to record an exchange of goods or services.  

Relational databases use a schema to define the structure of the data stored.  Schemas are built based on reporting, data validation, and compliance requirements.  The database cannot be used until the design has been completed and implemented.

Relational databases report on and manage known processes.

NoSQL databases are a family of databases that share certain characteristics.  They usually scale horizontally by adding compute notes.  They do not, generally, require a schema to define data.  Data is usually semi-structured or unstructured.  

The term NoSQL originally meant that a programming language other than SQL was used to access data.  This has been expanded to mean “Not Only SQL” because some databases in the NoSQL family can use a modified version of SQL to access data.

NoSQL databases are often used for online analytical processing workloads.  OLAP workloads answer questions that are unknown.  That is, where a relational database report might show the number of items sold in a given month, an analytic application might reveal the trends as to why certain items sold while others didn’t.

NoSQL databases use unstructured or semi-structured data.  This means that developers can write code using a NoSQL database without having to wait until the design has been completed.

Data drives business.  Data drives innovation.  Data can be as unique as a fingerprint or as ubiquitous as water.

The cloud has the promise of agility, scalability, and elasticity.  Agility is about changing to meet needs, scalability means that growth can happen when needed, and elasticity is about turning the lights off when leaving a room.

Picking the correct database to manage data will take some effort.  It could be that several database types are needed.