--- title: "Multi-Database Architecture" type: concept tags: - AWS - Database - Architecture - Polyglot sources: - ctp-topic-51-architecting-with-aws-purpose-built-databases last_updated: 2026-04-28 --- ## Overview 多数据库混合架构(Polyglot Persistence)是一种架构模式:在同一个应用系统中,根据不同数据类型和访问模式,选择多个专用数据库组合使用,而非依赖单一数据库。 ## Aliases - Polyglot Persistence - Multi-Database Architecture - Polyglot Database Architecture ## Core Pattern 为正确的工作选择正确的工具: - **事务数据** → 关系型数据库(Aurora/RDS) - **高频缓存** → 内存数据库(ElastiCache Redis) - **灵活文档** → 文档数据库(DocumentDB) - **图关系** → 图数据库(Neptune) - **时序数据** → 时序数据库(Timestream) ## Real-World Case Study: Duolingo Duolingo 的多数据库架构: ``` ┌─────────────────────────────────────────────────┐ │ Duolingo App │ └──────────────────────┬────────────────────────┘ │ ┌─────────────┼─────────────┐ ▼ ▼ ▼ ┌──────────┐ ┌───────────┐ ┌──────────┐ │DynamoDB │ │ElastiCache│ │ Aurora │ │ │ │ (Redis) │ │ │ │个性化数据 │ │高频词/短语 │ │事务数据 │ │ │ │ │ │(支付/账户)│ └──────────┘ └───────────┘ └──────────┘ ``` - **DynamoDB**:用户个性化学习数据,高并发读写 - **ElastiCache Redis**:高频词/短语缓存,减少数据库访问 - **Aurora**:支付、用户账户等强一致性事务 ## Benefits - **性能最优**:每个数据层使用专门优化的引擎 - **成本效率**:按需选择,避免为不需要的功能付费 - **扩展灵活**:各数据库独立扩展,互不干扰 - **技术适配**:最合适的技术栈解决最合适的场景 ## Challenges - **运维复杂度**:多数据库意味着多套运维工具和技能 - **数据一致性**:跨数据库的分布式事务处理 - **团队技能**:DBA 需要掌握多种数据库技术 - **连接管理**:应用层需要管理多个数据库连接池 ## Connections - [[Purpose-Built-Databases]]:多数据库架构是专用数据库理念的组织形式 - [[DBA-Role-Evolution]]:多数据库架构要求 DBA 具备更广的技术视野 - [[Duolingo]]:Duolingo 是多数据库混合架构的经典生产案例 - [[Netflix]]:Netflix 也采用多数据库架构支撑大规模流媒体平台 ## Referenced In - [[ctp-topic-51-architecting-with-aws-purpose-built-databases]]