• A high-performingdatabase is crucial to
any organization.
• Databases support the internal operations
of companies and store interactions with
customers and suppliers.
3.
• Databases arecrucial for supporting
organizational operations and storing
interactions with customers and suppliers.
• Relational databases were the primary
choice for businesses since the 1970s, with
limited options available at the time.
• Database technology selection in the past
was often made before fully
understanding the specific business use
cases.
5.
• Organized intables: Data is stored in tables with rows (records) and columns
(attributes) that represent specific entries.
• Relationships between tables: Data in different tables can be linked via
common attributes, creating relationships between them (e.g., the author
attribute in multiple tables).
• Fixed schema: The structure (schema) of a relational database is designed
upfront and is difficult to change once the database is operational.
6.
• RDBMS Overview:RDBMSs like MySQL,
PostgreSQL, Oracle, SQL Server, and Amazon
Aurora manage relational databases and
support data creation, updates, and
administration.
• SQL for Data Retrieval: RDBMS uses SQL to
interact with data, such as SELECT * FROM
table_name for basic queries.
• Advanced Queries & Joins: SQL enables
advanced queries with "joins" to combine data
from multiple tables, allowing deeper insights,
e.g., linking sales and books tables to analyze
author-related sales.
7.
Relational Database Benefits
•Complex SQL: SQL allows you to join
tables, making it easier to
understand relationships between
your data.
• Reduced Redundancy: You can
reference data across multiple
tables, minimizing duplicate data
storage.
• Familiarity: Relational databases
are widely used and familiar to
technical
Unmanaged Databases:
• Fullresponsibility for everything,
including hardware, operating
systems, database management,
and query optimization.
• You are responsible for database
tuning and ensuring data security.
• Provides more control but requires
more effort and management.
Managed Databases:
• AWS handles database setup,
high availability, scalability,
patching, and backups.
• AWS manages only the
infrastructure (hardware) and
EC2 instance; you handle
database setup and
maintenance.
• Offers convenience with
reduced control over
database management.
13.
Amazon RDS
With AmazonRelational Database
Service (Amazon RDS), you can focus
on tasks that differentiate your
application instead of infrastructure-
related tasks, like provisioning,
patching, scaling, and restoring.
14.
• Amazon RDSis a managed service that
simplifies the creation and management
of relational databases in the cloud.
• It offloads tasks like provisioning,
patching, scaling, and restoring, allowing
you to focus on core application tasks.
Amazon RDS
16.
Database instances
1. DBInstance: Runs the DB engine and can host multiple databases.
2. EC2 Instance: Underlies the DB instance but managed via RDS console.
3. Instance Type/Size: Affects processing power and memory.
4. Instance Class: Determines performance (CPU, memory, networking).
17.
• Amazon EBS:Used for
database and log storage in
MySQL, MariaDB,
PostgreSQL, Oracle, and SQL
Server.
• Aurora Storage: Uses SSD-
based cluster volumes with
data replicated across three
Availability Zones.
18.
Storage Types:
1.General PurposeSSD (gp2/gp3): Balanced performance and cost.
2.Provisioned IOPS SSD (io1): High performance for I/O-intensive workloads.
3.Magnetic (Standard): Lower-cost, non-SSD storage for less demanding workloads.
19.
• Amazon VPC:Select the VPC for your DB
instance during creation, ensuring it
resides in a private subnet.
• DB Subnet Group: A group of subnets
across at least two Availability Zones,
isolated from the internet.
• Network ACLs and Security Groups: Use
these to restrict and control access to the
DB instance, ensuring only backend
applications can access the database.
20.
Automated Backups: Theseare enabled by default, backing up the entire DB instance and
transaction logs. You set a backup window to minimize latency. Automated backups can be retained
from 0 to 35 days, and point-in-time recovery is supported, allowing data restoration to a specific
time.
21.
Manual Snapshots: Initiatedby you, these snapshots are retained until manually
deleted. Useful for retaining backups beyond 35 days, such as for compliance
purposes. Restoring from a snapshot creates a new DB instance.
22.
Redundancy with Multi-AZ:Amazon RDS Multi-AZ creates a redundant copy of your database in
another Availability Zone for improved availability. The primary database synchronously replicates
to a standby, which can be promoted in case of failure, ensuring automatic failover and
minimizing downtime.
23.
Amazon RDS providesseveral security features
to help you control access, protect data, and
secure communications.
Amazon RDS security
1. IAM: Manage user permissions for RDS
resources with granular access control.
2. Security Groups: Define firewall rules to control
inbound and outbound database traffic.
3. RDS Encryption: Encrypt data at rest using AWS
KMS for security.
4. SSL/TLS: Secure data transmission between
database and client with encryption
24.
Purpose-built databases offer
tailoredsolutions for specific
application needs, improving
scalability and performance.
AWS provides a wide range of
these databases to support
diverse data models and
enhance application
development.
25.
1.DynamoDB is afully managed NoSQL
database with fast, consistent
performance at scale.
2.It’s perfect for high-scale and
serverless applications, with flexible
billing options.
3.Offers tight integration with
infrastructure as code (IaC) and a
hands-off operational model.
Amazon DynamoDB
26.
Amazon ElastiCache
• ElastiCacheis a fully
managed in-memory
caching solution.
• Supports Redis and
Memcached, two open-
source cache engines.
• AWS handles failovers,
backups, restores, and
software upgrades.
27.
• MemoryDB isa Redis-compatible,
durable in-memory database for
ultra-fast performance.
• Achieves microsecond read and
millisecond write latency with high
throughput.
• Provides Multi-AZ durability, ideal for
microservices-based applications.
• No need to manage separate cache or
infrastructure, fully managed service.
Amazon MemoryDB for Redis
28.
Amazon DocumentDB (withMongoDB compatibility)
• Amazon DocumentDB is a fully
managed NoSQL document database.
• Ideal for content management,
profile management, and web/mobile
apps.
• API compatibility with MongoDB for
easy migration and integration.
• Supports popular open-source
libraries for seamless database
interaction.
29.
• Amazon Keyspacesis a managed,
scalable, and highly available
Cassandra-compatible database
service.
• Ideal for high-volume applications
requiring top-tier performance.
• Supports Apache Cassandra Query
Language (CQL) for easy migration.
• Uses Apache 2.0 licensed drivers and
tools for seamless integration.
Amazon Keyspaces (for Apache Cassandra)
30.
Amazon Neptune
• AmazonNeptune is a fully
managed graph database service by
AWS.
• Ideal for highly connected data
with complex relationships.
• Commonly used for
recommendation engines and fraud
detection.
• Supports use cases like knowledge
graphs for improved data insights.
31.
Amazon Timestream
• Timestreamis a serverless time series
database for IoT and operational apps.
• Optimized for storing and analyzing
trillions of events per day.
• Offers up to 1,000x faster performance
and cost-effective compared to
relational databases.
• Ideal for tracking time-based data, like
stock prices or temperature readings.
32.
Amazon Quantum LedgerDatabase (Amazon QLDB)
• Amazon QLDB is a fully managed
ledger database for tracking data
changes.
• It provides cryptographically
verifiable history of all data
modifications.
• QLDB eliminates the need for complex
audit trails and scalability challenges.
• Ideal for applications requiring
transparent and immutable data
history.
34.
1.Tables: Collections ofitems in
DynamoDB.
2.Items: Individual records in a table, each
identified by a unique primary key.
3.Attributes: Key-value pairs that make up
an item.
4.Primary Keys & Secondary Indexes:
Used to uniquely identify items and
support flexible querying.
DynamoDB core components
36.
• RDS, Aurora,Redshift: Relational, for traditional apps, ERP, CRM, e-
commerce.
• DynamoDB: Key-value, for high-traffic apps, e-commerce, gaming.
• ElastiCache: In-memory, for caching, session management, gaming.
• DocumentDB: Document, for content management, catalogs, profiles.
• Keyspaces: Wide column, for industrial apps, fleet management.
• Neptune: Graph, for fraud detection, recommendations.
• Timestream: Time series, for IoT, DevOps, and telemetry.
• QLDB: Ledger, for systems of record, and transactions.
Choosing the Right Database Service