Skip to content

PERF04 - How do you select your database solution?

Best Practices

Best Practices

This question includes the following best practices:

Key Concepts

Performance Architecture Fundamentals

Data model fit: Use this concept to guide architecture and operating decisions for this question area. Define measurable targets, assign clear ownership, and review results regularly against expected business outcomes.

Query pattern alignment: Use this concept to guide architecture and operating decisions for this question area. Define measurable targets, assign clear ownership, and review results regularly against expected business outcomes.

Consistency and durability: Use this concept to guide architecture and operating decisions for this question area. Define measurable targets, assign clear ownership, and review results regularly against expected business outcomes.

Optimization and Operations

Scaling strategy: Use this concept to guide architecture and operating decisions for this question area. Define measurable targets, assign clear ownership, and review results regularly against expected business outcomes.

Operational overhead: Use this concept to guide architecture and operating decisions for this question area. Define measurable targets, assign clear ownership, and review results regularly against expected business outcomes.

Performance isolation: Use this concept to guide architecture and operating decisions for this question area. Define measurable targets, assign clear ownership, and review results regularly against expected business outcomes.

Implementation Approach

1. Analyze data and access requirements

  • Define relational, key-value, document, or graph requirements
  • Capture read/write ratio and query complexity
  • Identify consistency, transaction, and latency targets
  • Estimate data growth and partitioning needs

2. Evaluate database options

  • Compare managed relational and NoSQL services
  • Assess indexing, replication, and failover capabilities
  • Model operational responsibilities per option
  • Choose engines matching workload behavior

3. Design for performance and resilience

  • Implement schema and index strategies for key queries
  • Use read replicas or caching for read-heavy paths
  • Set backup, PITR, and restore validation processes
  • Tune connection and pooling parameters

4. Optimize and evolve

  • Monitor query latency and resource saturation
  • Refactor hotspots and inefficient access patterns
  • Review capacity settings and autoscaling behavior
  • Adopt newer engine features that improve throughput

AWS Services to Consider

Amazon RDS

Runs managed relational databases with built-in backups, patching, and scaling options.

Amazon Aurora

Delivers high-performance relational databases with fast failover and read scaling for demanding workloads.

Amazon DynamoDB

Provides single-digit millisecond key-value performance at scale with serverless operations.

Amazon ElastiCache

Uses in-memory caching to reduce backend load and improve read/write latency.

Amazon CloudWatch

Collects metrics, logs, alarms, and dashboards so teams can detect issues early and track operational outcomes.

Common Challenges and Solutions

Challenge: Database engine mismatch

Solution: Select the primary data store by workload access patterns, not team familiarity alone.

Challenge: Hot partitions and uneven load

Solution: Use partition key design reviews and adaptive capacity-aware patterns early.

Challenge: Performance regressions after feature growth

Solution: Continuously benchmark key queries and review indexing and schema evolution.