Files
nexus/wiki/concepts/Multi-Database-Architecture.md

3.3 KiB
Raw Blame History

title, type, tags, sources, last_updated
title type tags sources last_updated
Multi-Database Architecture concept
AWS
Database
Architecture
Microservices
ctp-topic-51-architecting-with-aws-purpose-built-databases
2026-04-23

Definition

多数据库混合架构Multi-Database Architecture是指在单一应用中根据各部分的数据特征选用不同类型专用数据库的架构模式以实现最优的数据层性能。

Core Principle

每个数据模型应使用最适合它的数据库类型:

  • 关系型数据 → 关系型数据库Aurora / RDS
  • 高频读取 → 内存缓存ElastiCache
  • 无结构键值 → 键值数据库( DynamoDB
  • 高度互连 → 图数据库Neptune

Real-World Case Studies

Duolingo 案例(来源:ctp-topic-51-purpose-built-databases

数据类型 数据库 选型原因
个性化学习进度 DynamoDB 高写入、低延迟、弹性扩展
高频词/短语 ElastiCache 微秒级读取缓存
事务数据(购买、订阅) Aurora ACID 强一致性、复杂查询

Netflix 案例(来源:ctp-topic-51-purpose-built-databases

数据类型 数据库 选型原因
JSON 文档(用户数据、偏好) DynamoDB 高弹性、低延迟、JSON 原生支持

Peloton 案例(来源:ctp-topic-51-purpose-built-databases

数据类型 数据库 选型原因
实时健身反馈 ElastiCache Redis 微秒级响应、即时用户体验

Architecture Patterns

Cache-Aside Pattern旁路缓存

应用 → DynamoDB/RDS主数据库
     ↘ ElastiCache缓存层
  • 读取:先查缓存,未命中则查数据库并回填缓存
  • 写入:先写数据库,再失效/更新缓存

CQRS Pattern命令查询职责分离

写入 → DynamoDB优化写入
读取 → DynamoDB + ElastiCache优化读取
     ↘ Aurora复杂查询读取

Event-Driven Data Sync

DynamoDB Streams → Lambda → Aurora
                  → Lambda → Elasticsearch搜索
                  → Lambda → S3归档

Trade-offs

优势 挑战
最优性能:每个场景用最佳数据库 复杂度:多数据库运维成本
弹性扩展:各层独立扩展 一致性:跨数据库事务管理
成本优化:按需选择规格 学习曲线:团队需掌握多种数据库
容错隔离:单库故障不扩散 数据迁移:服务间数据同步

Aliases

  • Polyglot Persistence
  • 多数据库混合架构
  • 数据库混合部署
  • Database Polyglot
  • Mixed Database Architecture