Unit 4: Databases and Data Management
I. Orientation: The Database Layer in Cloud Architecture
The database layer stores, organizes, protects, and serves application data. In AWS, architects can choose managed relational, key-value, document, graph, ledger, time-series, in-memory, and analytical databases instead of forcing every workload into one database model.
- Governing principle — purpose-built persistence: Select a database according to the workload’s data model, access patterns, consistency requirements, scale, and operational constraints.
- Shared-responsibility model: AWS protects the underlying cloud infrastructure; customers remain responsible for data classification, access policies, database configuration, application credentials, and some patching choices.
- Managed-service advantage: Services such as Amazon RDS and DynamoDB reduce work involving hardware provisioning, software installation, backups, failure detection, and replacement.
- Core design dimensions:
- Performance: Throughput, latency, connection count, query efficiency, and caching.
- Reliability: Backups, replication, failover, recovery objectives, and fault isolation.
- Security: Encryption, network isolation, authentication, authorization, and auditing.
- Cost: Instance capacity, storage, requests, data transfer, licenses, and operational effort.
- Availability terminology:
- RTO: Recovery Time Objective, the maximum acceptable restoration time.
- RPO: Recovery Point Objective, the maximum acceptable amount of data loss measured in time.
- Scaling distinction: Vertical scaling increases the capacity of one database node, while horizontal scaling distributes work across nodes, replicas, or partitions.
II. Database Architecture — Selecting the Right Persistence Model
A. Database layer considerations and use cases
Database selection should begin with application requirements and access patterns, not with a preferred database product.
- Data model: Match the service to the structure and relationships in the data.
- Relational databases suit normalized tables, joins, constraints, and SQL.
- Key-value databases suit lookups through known partition keys.
- Graph databases suit highly connected entities and relationship traversal.
- Transaction requirements: Relational engines are appropriate when multi-row ACID transactions and referential integrity are central, such as transferring funds between accounts.
- Consistency: Strong consistency returns the latest acknowledged write, while eventual consistency may temporarily return an older value in exchange for greater availability or lower coordination overhead.
- Access patterns: Identify operations such as
GetOrderById,ListOrdersByCustomer, andUpdateInventory. DynamoDB table keys, relational indexes, and read replicas must support these concrete operations. - Workload characteristics: Consider read-to-write ratio, request rate, item size, query complexity, growth rate, and traffic variability. A flash-sale catalogue differs from a stable payroll system.
- Availability needs: Production systems commonly distribute resources across Availability Zones. Multi-AZ deployment reduces dependence on one data centre location.
- Scaling method: RDS commonly scales vertically and uses read replicas for read scaling; DynamoDB partitions data automatically and scales throughput horizontally.
- Security controls: Place databases in private subnets where possible, restrict security-group rules, encrypt data with AWS KMS, protect credentials in AWS Secrets Manager, and record relevant activity.
- Common use cases:
- Amazon RDS/Aurora: ERP, CRM, financial records, and transactional web applications.
- DynamoDB: Shopping carts, gaming state, session stores, and high-scale metadata.
- ElastiCache: Frequently accessed or temporary data requiring microsecond-level in-memory performance.
- Redshift: Large-scale analytical queries over warehouse data.
- Polyglot persistence: One application may use Aurora for orders, DynamoDB for sessions, ElastiCache for caching, and Redshift for analytics. This improves workload fit but increases governance and integration complexity.
III. Amazon RDS — Managed Relational Databases
A. Amazon RDS features and connection management
Amazon Relational Database Service operates supported relational engines while preserving familiar SQL, schemas, drivers, and database tools.
- Supported engines: RDS supports Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, Microsoft SQL Server, and Db2, subject to regional and edition availability.
- Managed operations: AWS handles infrastructure provisioning, storage management, monitoring integration, automated backups, and configurable maintenance activities.
- Deployment choices: Architects select a DB instance class, storage type and capacity, engine version, VPC, subnet group, security groups, backup retention, and availability configuration.
- Endpoints: Applications connect through a DNS endpoint and port, such as PostgreSQL on port
5432; they should not depend on an underlying instance IP address because failover can change it. - Network control: A DB subnet group identifies eligible subnets. Security groups should permit inbound traffic only from approved application security groups on the database port.
- Authentication: Store and rotate passwords through Secrets Manager where practical. Supported engines can also use IAM database authentication through short-lived authentication tokens.
- Connection cost: Every database connection consumes memory and processing resources. Serverless applications can create sudden connection storms because many concurrent functions may open separate connections.
- Connection pooling: Reuse established connections in the application or use Amazon RDS Proxy. RDS Proxy pools connections, queues or shares demand, and can improve resilience during failover.
- Operational visibility: CloudWatch exposes metrics such as
CPUUtilization,DatabaseConnections,FreeStorageSpace, read/write latency, and IOPS. Performance Insights helps identify database load and expensive SQL. - Availability distinction: Multi-AZ is primarily for availability and failover; it is not the standard mechanism for directing read-only application queries to a standby.
B. Automated backups and read replicas in RDS
Automated backups protect recoverability, whereas read replicas primarily improve read scalability and can support separate recovery strategies.
-
Automated backups:
- Mechanism: RDS creates storage-level backups and continuously captures transaction logs during the configured retention period.
- Point-in-time recovery: A database can be restored to an eligible second within the retention window, producing a new DB instance rather than overwriting the source.
- Backup window: The preferred backup window schedules daily backup activity; retention can generally be configured up to 35 days for RDS DB instances.
- Snapshots: Manual snapshots persist until deleted and are useful before major schema changes or for longer retention. Snapshots can be copied across Regions or accounts under supported configurations.
- Recovery design: Backup existence is insufficient; restore procedures must be tested against stated RTO and RPO targets.
-
Read replicas:
- Mechanism: A source database asynchronously replicates changes to one or more read-only replicas, depending on engine capabilities.
- Use cases: Reporting, dashboards, read-heavy API requests, and analytical queries can be moved away from the writer.
- Replication lag: Because replication is generally asynchronous, a replica may return stale data. Read-after-write operations should use the writer when freshness is mandatory.
- Promotion: A read replica can be promoted into an independent writable database, but promotion and application redirection are not equivalent to automatic Multi-AZ failover.
- Regional resilience: Cross-Region replicas can place readable data nearer users and support disaster-recovery designs, with additional transfer cost and replication lag.
IV. Purpose-Built AWS Databases — Matching Engines to Workloads
A. Amazon DynamoDB and other purpose-built databases
DynamoDB is a serverless NoSQL key-value and document database designed for predictable low-latency access at virtually any scale.
- DynamoDB data model: A table contains items and attributes. Each item is identified by a partition key or by a composite primary key consisting of a partition key and sort key.
- Partitioning: The partition key determines data distribution. A high-cardinality key such as
customerIdusually distributes traffic better than a low-cardinality value such ascountry. - Capacity modes: On-demand mode charges per request and adapts to variable traffic; provisioned mode defines read and write capacity and can use auto scaling.
- Queries and scans:
Queryuses key conditions and is efficient;Scanreads every item or index entry examined and can consume substantial capacity. - Indexes: Global secondary indexes provide alternative partition and sort keys; local secondary indexes share the table’s partition key and must be created with the table.
- Consistency and transactions: Reads can be eventually consistent or, where supported, strongly consistent. DynamoDB also supports ACID transactions across multiple items.
- Resilience features: Point-in-time recovery, on-demand backups, DynamoDB Streams, Time to Live, and Global Tables support recovery, event processing, expiry, and multi-Region replication.
- Other purpose-built services:
- Amazon Aurora: Cloud-optimized relational processing compatible with MySQL or PostgreSQL.
- Amazon DocumentDB: JSON document workloads requiring MongoDB-compatible APIs.
- Amazon Neptune: Property-graph and RDF workloads such as fraud networks and knowledge graphs.
- Amazon Timestream: Time-series data from telemetry, operations, and IoT systems.
- Amazon QLDB: Cryptographically verifiable, immutable transaction journals.
- Amazon ElastiCache: Redis- or Memcached-compatible in-memory caching.
- Amazon Redshift: Columnar data warehousing and analytical SQL.
V. Database Migration — Moving Data and Workloads
A. Migrating databases to AWS
Database migration combines assessment, schema conversion, data movement, validation, and controlled application cutover.
- Migration strategies: Rehost the existing engine, replatform onto a managed equivalent, or refactor for a different data model. Greater transformation can yield more cloud benefit but raises migration complexity.
- Assessment: Inventory database size, engine versions, extensions, schemas, stored procedures, dependencies, throughput, downtime tolerance, RTO, and RPO.
- Homogeneous migration: Moving Oracle to Oracle or PostgreSQL to PostgreSQL preserves the engine and can use native tools, snapshots, or AWS Database Migration Service.
- Heterogeneous migration: Moving Oracle to Aurora PostgreSQL changes engines and usually requires schema and code conversion through AWS Schema Conversion Tool or AWS DMS Schema Conversion.
- AWS DMS: Database Migration Service can perform a full load and then apply ongoing changes through change data capture, reducing the final outage window.
- Connectivity: Source and target systems require secure routing through VPN, AWS Direct Connect, VPC peering, or other approved network paths, plus least-privilege database accounts.
- Validation: Compare row counts, checksums where appropriate, constraints, representative query results, and application behaviour. Performance tests should reproduce realistic concurrency.
- Cutover sequence: Reduce DNS caching where relevant, stop or control source writes, allow replication lag to reach an acceptable level, validate the target, redirect applications, and monitor errors.
- Rollback planning: Define a decision deadline and a method for reconciling writes. Rollback becomes difficult once the target accepts data that is not replicated back to the source.
VI. Well-Architected Database Design — Balancing Cloud Qualities
A. Applying Well-Architected principles to the database layer
A database design should be evaluated across the AWS Well-Architected Framework pillars rather than optimized for performance alone.
- Operational excellence: Provision databases through infrastructure as code, standardize parameter changes, monitor metrics and logs, automate maintenance, and maintain tested runbooks.
- Security: Use private connectivity, least-privilege IAM and database roles, KMS encryption at rest, TLS in transit, Secrets Manager rotation, audit logging, and data classification.
- Reliability: Use Multi-AZ deployment, suitable replication, automated backups, cross-Region recovery where justified, and regular restore or failover testing against RTO and RPO.
- Performance efficiency: Choose the correct engine, instance family, storage configuration, indexes, partition keys, caching layer, and replica topology. Measure query plans and latency before scaling resources.
- Cost optimization: Remove idle databases, right-size instances, compare on-demand and reserved pricing, use storage auto scaling carefully, select DynamoDB capacity mode by demand pattern, and monitor backup retention.
- Sustainability: Prefer managed services, efficient queries, appropriate retention periods, and right-sized capacity to reduce unnecessary computation and storage.
- Trade-off analysis: A cross-Region replica improves resilience and locality but adds cost and lag; strong consistency improves freshness but may reduce flexibility; additional indexes accelerate reads but increase storage and write work.
- Continuous review: Use CloudWatch alarms, AWS Config rules, cost reports, security findings, load tests, and recovery exercises to confirm that the database still satisfies changing requirements.
Did this save you a night before the exam?
LPU Notes is free, and it stays free. Ads cover part of the server bill. The rest comes out of a student's own pocket: the domain, the storage, and keeping the site up through the weeks everyone needs it at once.
The payment button didn't load. An ad blocker or a filtered network is the usual reason. to try again.
Nothing here is ever locked, and nothing unlocks. Chip in only if it was worth it. What it pays for →