aws_cloud_practitioner

Databases

Relational Databases

In a relational database, data is stored in a way that relates it to other pieces of data.

Relational databases use structured query language (SQL) to store and query data.

Example of data in a relational database:

example


Amazon RDS

Amazon Relational Database Service (Amazon RDS) is a service that enables you to run relational databases in the AWS Cloud.

Amazon RDS is a managed service that automates tasks such as hardware provisioning, database setup, patching, and backups.

Many Amazon RDS database engines offer:


Amazon RDS Database Engines

Amazon RDS is available on six database engines, which optimize for memory, performance, or input/output (I/O).

  1. Amazon Aurora
  2. PostgreSQL
  3. MySQL
  4. MariaDB
  5. Oracle Database
  6. Microsoft SQL Server

Amazon Aurora

Amazon Aurora is an enterprise-class relational database. It is compatible with MySQL and PostgreSQL relational databases.

Consider Amazon Aurora if your workloads require high availability. It replicates six copies of your data across three Availability Zones and continuously backs up your data to Amazon S3.


Nonrelational Databases

Nonrelational databases are sometimes referred to as “NoSQL databases” because they use structures other than rows and columns to organize data.

With key-value pairs, data is organized into items (keys), and items have attributes (values).

example


Amazon DynamoDB

Amazon DynamoDB is a key-value database service.

Features:

DynamoDB is serverless which means you don’t have to provision, patch or manage servers or install, maintain or operate software.

As the size of your database shrinks or grows, DynamoDB automatically scales to adjust for changes in capacity.


RDS vs DynamoDB

If you need complex relational joins use RDS, because it’s built for business analytics. If you don’t need complex joint functionality and don’t want additional expense, use DynamoDB.

Scenarios in which you should use RDS:

Scenarion in which you should use DynamoDB:


Amazon Redshift

Amazon Redshift is a data warehousing service that you can use for big data analytics.

Optimal to use when you are looking at historical analytics as opposed to operational analysis.


Amazon Database Migration Service

AWS Database Migration Service (AWS DMS) enables you to migrate relational databases, nonrelational databases, and other types of data stores.

With AWS DMS, you move data between a source database and a target database.

The source and target databases can be of the same type or different types.

Use cases for AWS DMS:

Click here for learn more about these use cases.

Migration types:

Heterogeneous migration consists of two steps:


Amazon DocumentDB

Amazon DocumentDB is a document database service that supports MongoDB workloads.

Amazon DocumentDB is great for content management, catalogs, user profiles.


Amazon Neptune

Amazon Neptune is a graph database service.

You can use Amazon Neptune to build and run applications that work with highly connected datasets, such as recommendation engines, fraud detection, and knowledge graphs.


Amazon QLDB

Amazon Quantum Ledger Database (Amazon QLDB) is a ledger database service.

You can use Amazon QLDB to review a complete history of all the changes that have been made to your application data.


Amazon Managed Blockchain

Amazon Managed Blockchain is a service that you can use to create and manage blockchain networks with open-source frameworks.

Blockchain is a distributed ledger system that lets multiple parties run transactions and share data without a central authority.


Amazon ElastiCache

Amazon ElastiCache is a service that adds caching layers on top of your databases to help improve the read times of common requests.

It supports two types of data stores: Redis and Memcached.


Amazon DynamoDB Accelerator

Amazon DynamoDB Accelerator (DAX) is an in-memory cache for DynamoDB.

It helps improve response times from single-digit milliseconds to microseconds.


Notes


References