Lesson_06_Databases
Lesson_06_Databases
You are a cloud architect in an organization and have been asked to develop
a comprehensive database solution that seamlessly integrates various
components for an upcoming product launch.
The marketing team needs a MySQL database to store all the customer
feedback. The operations team requires a DynamoDB database for real-time
product tracking across multiple regions, utilizing DynamoDB global table
replicas for swift data access.
To achieve this, you will learn a few concepts in this lesson that will help you
find a solution for the given scenario.
Learning Objectives
AWS provides a broad selection of purpose-built databases to help save, grow, and build a
robust cloud database.
Comprehensive High-performance
database selection scalability
Features of AWS
databases
Relational databases, also known as SQL databases, are the most common
type of databases.
Structured data
They are used to store structured data in a set of tables that are formally described.
Key-Value Databases
Key-value databases are a type of non-relational database that utilizes a key-value method for
storing data. These databases are used in high-traffic and high-computing applications.
In-Memory Databases
In-memory databases use cache-based storage to reduce the database infrastructure load and
enhance user response time.
Query
Result
Result
Query
Query
Databases
Result
Amazon Relational Database Service (RDS)
Amazon RDS
Amazon Relational Database Service (Amazon RDS) simplifies the process of setting up,
operating, and scaling a relational database in the AWS cloud.
• Ease of administration
• Scalability
• Security
• Cost-effectiveness
• Fast performance
Amazon RDS
Amazon RDS enables users to scale the compute and memory resources of their deployments
up to 32 vCPUs and 244 GiB of RAM.
RDS Instance
RDS Instance
RDS Instance
• General-purpose
• Memory-optimized
• Burstable performance
Amazon RDS Database Engines
Certain server-level roles in Microsoft SQL are currently unavailable in Amazon RDS.
These include:
• bulkadmin
• dbcreator
• diskadmin
• securityadmin
• serveradmin
• sysadmin
Limitations of Amazon RDS for MySQL
Several features of MySQL are currently unavailable in Amazon RDS, such as:
• Authentication plugin
• Error logging to the system log
• Group replication plugin
• InnoDB tablespace encryption
• Password strength plugin
• Persisted system variables
• Replication filters
• Semisynchronous replication
• Transportable tablespace
• X Plugin
Limitations of Amazon RDS for MySQL
• Alter database
• Alter system
E-commerce applications
Online games
Amazon RDS Backups
Amazon RDS automatically creates and securely stores backups of DB instances in Amazon S3
for a specified retention period.
Database snapshots
Replicate
Amazon RDS Read Replicas enhance the performance and durability of RDS
database (DB) instances.
Source: https://aws.amazon.com/rds/features/read-replicas/
Amazon Aurora
Amazon Aurora is a relational database that combines the speed and availability of high-end
commercial databases with the simplicity and cost-effectiveness of open-source databases.
Robust security
An Amazon Aurora DB cluster includes one or more DB instances and a cluster volume that
manages the data for those DB instances.
Source: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html
Amazon Aurora DB Cluster
M R
Primary instance Aurora replica
Amazon Aurora DB Cluster
In each Aurora DB cluster, the primary instance handles both read and write operations,
updating the data in the cluster volume with every alteration.
Primary
M instance
Writes Reads
Data copies
Amazon Aurora DB Cluster
An Aurora replica supports only read operations and connects to the same storage disk as the
primary DB instance.
R Aurora
Replica RR Aurora
Replicas
Reads
Reads
Reads
Cluster Volumes
Amazon Aurora Serverless
Amazon Aurora Serverless is a configuration that automatically scales. It starts, shuts down,
and adjusts capacity based on the application's needs.
Amazon Aurora Serverless is a configuration that automatically scales. It starts, shuts down,
and adjusts capacity based on the application's needs.
Aurora Serverless v2 helps users to automate the procedures for workload monitoring and
database capacity adjustment.
• Highly scalable
• Simple
• Highly available
• Transparent
• Cost-effective
• Durable
Amazon Aurora Serverless v2
Aurora Multi-Master lets users create multiple read and write master instances across several
availability zones.
Application
Backtrack
Enterprise readiness
Amazon DynamoDB: Use Cases
Retail Gaming
Read consistency
Global dispersed
users
To write an item in a DynamoDB table, users can use the following commands:
In DynamoDB, a global secondary index (GSI) has a partition key and a sort key
distinct from the base database's main key.
This index allows queries to access data from multiple base table partitions,
making it global.
Amazon DynamoDB
Unlike the global secondary index (GSI), which can span multiple partitions, the LSI
operates within the constraints of a specific partition key.
DynamoDB Global Tables
Duolingo utilizes Amazon DynamoDB to store 31 billion items, supporting its online learning
platform that offers lessons in 80 languages.
Amazon
DynamoDB
31 billion items
80 different languages
24,000 read units per second and 3300 write units per second
Amazon DynamoDB: Costs
Read Consistency
Capacity Management
You can run Cassandra workloads on AWS using the same Cassandra application code and
developer tools.
01 03 05
02 04 06
Amazon DocumentDB provides powerful and intuitive APIs for flexible and agile development.
Amazon DocumentDB, with its MongoDB compatibility, offers several benefits such as:
Reliability:
Amazon DocumentDB provides dependable
database service with minimal downtime.
Speed: Management:
It is fast, facilitating It is a fully managed service,
efficient and prompt data removing the need for hands-
operations. on database management.
Amazon DocumentDB
User profiles
Content management
Database Operations in DynamoDB
Duration:15 min
Problem Statement:
You have been assigned a task to create a database table that can store and read items using
the DynamoDB console.
Assisted Practice: Guidelines
1. Create a table
2. Store and read the items
Creating a Replica of DynamoDB
Duration:15 min
Problem Statement:
You have been assigned a task to set up a global table replica and make data available across
different regions using DynamoDB.
Assisted Practice: Guidelines
Amazon ElastiCache is a web service that simplifies the deployment, operation, and scaling of
an in-memory data store or cache in the cloud.
Fast performance
Scalable
Fully manageable
Amazon ElastiCache
Media
Caching Geospatial
streaming
Amazon ElastiCache: Data Engines
Amazon ElastiCache
Redis Memcached
Amazon ElastiCache for Redis
Amazon ElastiCache is a Redis-compatible in-memory data store service and can support high
performance since it is fully managed, scalable, and secure. The benefits are as follows:
High performance
Fully manageable
Redis-compatible
Easily scalable
Amazon ElastiCache is a Memcached-compatible in-memory key-value store service that can be used
as a cache or a data store. The benefits of Amazon ElastiCache for Memcached are as follows:
High performance
High security
Memcached-compatible
Easily scalable
Fully manageable
Auto discovery
Amazon Redshift
Amazon Redshift
Amazon Redshift is a fully managed, petabyte-scale data warehouse service in the cloud.
The benefits of Amazon Redshift are as follows:
Easy-to-use
Best performance
Highly scalable
Cost-effective
Easy-to-manage
An Amazon Redshift data warehouse is a collection of computing resources called nodes. Nodes are
organized into a group called a cluster. Each cluster runs an Amazon Redshift engine and contains one
or more databases.
Nodes
Backup storage
Data analytics as a
Session store
service
Duration:15 min
Problem Statement:
You have been assigned a task to create a table in Amazon Redshift and access the Redshift
Query Editor.
Assisted Practice: Guidelines
Duration:15 min
Problem Statement:
You have been assigned a task to demonstrate the process of creating an Amazon RDS MySQL
database using the AWS Management Console.
Assisted Practice: Guidelines