Scan with Phone

Scan to instantly open and share this page on your mobile device.

Link copied to clipboard!

Group 7: Databases

Managed database services for OLTP, NoSQL, and specialized workloads: RDS, DynamoDB, Aurora, DocumentDB, Neptune.

Database Principle: Match data model (relational, document, key-value, graph) to access patterns, consistency requirements, and scale characteristics.

Services & Roles

RDS

Managed relational databases (MySQL, PostgreSQL, SQL Server, Oracle).
  • Multi-AZ deployment
  • Automated backups
  • Read replicas

DynamoDB

Serverless NoSQL database with single-digit millisecond performance.
  • Auto scaling
  • Global tables
  • On-demand billing

Aurora

MySQL/PostgreSQL compatible with 3x performance and storage auto-scaling.
  • Storage auto-scaling
  • Aurora Serverless
  • Global database

DocumentDB

MongoDB compatible document database with elastic scaling.
  • MongoDB compatibility
  • Elastic scaling
  • Automatic backups

Neptune

Graph database for highly connected datasets (Gremlin, SPARQL).
  • Property graph
  • RDF support
  • High availability

Key Differences

DimensionRDSDynamoDBAuroraDocumentDBNeptune
Data ModelRelational (SQL)Key-Value/DocumentRelational (SQL)Document (JSON)Graph
ScalingVerticalHorizontalStorage auto-scaleHorizontalRead replicas
ConsistencyACIDEventually consistentACIDEventually consistentACID
Use CaseTraditional OLTPWeb/mobile appsHigh-performance OLTPContent managementSocial networks
PerformanceModerateSingle-digit ms3x MySQLHigh throughputGraph traversal

Selection Model

0–10 sliders weight database requirements, data models, and performance characteristics.

{{c.desc}}
Score_RDS = 0.28*C_relationalData + 0.24*C_sqlRequirements + 0.18*C_acidCompliance + 0.14*C_legacyApps + 0.10*C_structuredData + 0.06*(10 - C_webScale) Score_DynamoDB = 0.30*C_webScale + 0.26*C_keyValueAccess + 0.18*C_autoScaling + 0.12*C_serverlessPreference + 0.08*C_globalReplication + 0.06*(10 - C_sqlRequirements) Score_Aurora = 0.32*C_highPerformance + 0.24*C_relationalData + 0.18*C_autoScaling + 0.12*C_cloudNative + 0.08*C_globalDatabase + 0.06*C_serverlessPreference Score_DocumentDB = 0.30*C_documentData + 0.26*C_mongoCompatibility + 0.18*C_contentManagement + 0.12*C_flexibleSchema + 0.08*C_jsonWorkloads + 0.06*C_elasticScaling Score_Neptune = 0.40*C_graphData + 0.28*C_connectedData + 0.16*C_relationshipQueries + 0.10*C_socialNetworks + 0.04*C_fraudDetection + 0.02*C_recommendationEngine
RDS {{vm.scores.rds|number:2}}
DynamoDB {{vm.scores.dynamodb|number:2}}
Aurora {{vm.scores.aurora|number:2}}
DocumentDB {{vm.scores.documentdb|number:2}}
Neptune {{vm.scores.neptune|number:2}}
Primary Emphasis: {{vm.recommended.name}} ({{vm.recommended.score|number:2}})

Heuristics

  • High C_relationalData + C_sqlRequirements → RDS for traditional OLTP.
  • Strong C_webScale + C_keyValueAccess → DynamoDB for modern apps.
  • High C_highPerformance + C_relationalData → Aurora for cloud-native SQL.
  • C_documentData + C_mongoCompatibility → DocumentDB for MongoDB workloads.
  • C_graphData + C_connectedData → Neptune for relationship-heavy data.

Anti-Patterns

  • Using RDS for web-scale applications (limited horizontal scaling).
  • Using DynamoDB for complex JOIN operations (use Aurora instead).
  • Using DocumentDB without MongoDB compatibility needs.
  • Using Neptune for simple relational data (overkill).

Summary

Choose RDS for SQL legacy, DynamoDB for web scale, Aurora for cloud performance, DocumentDB for MongoDB, Neptune for graphs.

Next: Analytics & Big Data provides insights and data processing capabilities.

next