71 lines
2.9 KiB
Markdown
71 lines
2.9 KiB
Markdown
---
|
||
title: "Purpose-Built Databases"
|
||
type: concept
|
||
tags:
|
||
- AWS
|
||
- Database
|
||
- Architecture
|
||
- Cloud-Native
|
||
sources:
|
||
- ctp-topic-51-architecting-with-aws-purpose-built-databases
|
||
last_updated: 2026-04-23
|
||
---
|
||
|
||
## Definition
|
||
专用数据库(Purpose-Built Databases)是一种数据库选型原则——根据应用的数据模型、访问模式和性能需求,选择最适合该用例的专用数据库类型,而非用单一数据库解决所有问题。
|
||
|
||
## Core Principle
|
||
> "We need to start thinking of the right purpose-built database for the right application." — Femi George, AWS Database Sales Specialist
|
||
|
||
核心理念:**从用例出发,选择最佳工具,避免一刀切(One-Size-Fits-All)**。
|
||
|
||
## AWS Database Categories
|
||
|
||
| 类别 | AWS 产品 | 适用场景 |
|
||
|------|---------|---------|
|
||
| 关系型 | RDS, Aurora | 固定 schema、ACID 事务、复杂关联查询 |
|
||
| 键值 | DynamoDB | 高吞吐量、简单键值访问、无 schema 约束 |
|
||
| 文档 | DocumentDB | 半结构化 JSON、灵活 schema、嵌套查询 |
|
||
| 宽列 | Keyspaces | 大规模写入、Cassandra 兼容工作负载 |
|
||
| 内存缓存 | ElastiCache | 微秒级延迟、高频读取、会话存储 |
|
||
| 图数据库 | Neptune | 高度互连数据、欺诈检测、推荐引擎 |
|
||
| 时序数据库 | Timestream | IoT 遥测、监控指标、时间序列分析 |
|
||
| 账本数据库 | QLDB | 不可变事务日志、审计追踪 |
|
||
|
||
## Selection Criteria
|
||
选择专用数据库时应考虑:
|
||
1. **应用规模**:用户数量、请求量、数据量
|
||
2. **访问模式**:读密集 vs 写密集、点查 vs 范围查询
|
||
3. **数据模型**:结构化 vs 半结构化、关系复杂度
|
||
4. **性能需求**:延迟、吞吐量、可用性
|
||
5. **运维成本**:托管 vs 自管理、团队技能
|
||
|
||
## Multi-Database Architecture
|
||
现代应用常采用多数据库混合架构:
|
||
|
||
**Duolingo 案例**(来源:[[ctp-topic-51-purpose-built-databases]]):
|
||
- **DynamoDB**:存储个性化学习进度数据(键值访问)
|
||
- **ElastiCache**:缓存高频词/短语(内存缓存)
|
||
- **Aurora**:处理事务性数据(关系型)
|
||
|
||
**Netflix 案例**(来源:[[ctp-topic-51-purpose-built-databases]]):
|
||
- **DynamoDB**:高弹性、低延迟 JSON 文档访问
|
||
|
||
## Aliases
|
||
- Purpose-Built Databases
|
||
- 专用数据库
|
||
- 专用数据库选型
|
||
- Database Polyglot
|
||
- Polyglot Persistence
|
||
|
||
## Related Concepts
|
||
- [[Multi-Database-Architecture]]:多数据库混合架构模式
|
||
- [[Amazon-DynamoDB]]:AWS 专用键值数据库
|
||
- [[Amazon-Aurora]]:云原生关系型数据库
|
||
- [[Amazon-Neptune]]:AWS 图数据库
|
||
- [[Amazon-Timestream]]:AWS 时序数据库
|
||
- [[Amazon-Keyspaces]]:AWS 宽列数据库
|
||
- [[Amazon-DocumentDB]]:AWS 文档数据库
|
||
- [[Amazon-ElastiCache]]:AWS 内存缓存数据库
|
||
- [[DBA-Role-Evolution]]:云时代数据库架构师角色的转变
|