跳到主要内容

C2-05-数据库与缓存体系-选型决策与高频错误

本篇是《C2-05-数据库与缓存体系》的第4个分篇,主要包含:选型决策与高频错误。

12-★★★★★-选型决策与高频错误

12.1-最重要的数据库选择树

需要 Database

├── 传统关系数据 / SQL / Transaction?
│ │
│ ├── 普通 Managed Relational Engines
│ │ └── RDS
│ │
│ └── MySQL/PostgreSQL-compatible AWS Engine
│ └── Aurora

├── Key-Value / Document NoSQL、大规模 Serverless?
│ │
│ └── DynamoDB

├── MongoDB-compatible Document Database?
│ │
│ └── DocumentDB

├── Highly Connected Graph?
│ │
│ └── Neptune

├── In-Memory Cache?
│ │
│ └── ElastiCache

└── Data Warehouse / BI / Analytics?

└── Redshift

12.2-高频关键词映射

relational
SQL
managed relational database
→ RDS

MySQL-compatible / PostgreSQL-compatible AWS relational engine
→ Aurora

NoSQL
key-value
serverless database
massive scale
→ DynamoDB

in-memory cache
reduce database load
low latency cache
→ ElastiCache

MongoDB-compatible
document database
→ DocumentDB

graph
highly connected data
recommendation relationship
fraud graph
→ Neptune

data warehouse
petabyte-scale analytics
BI
→ Redshift

12.3-常见错误-1:NoSQL-=-没有-Schema

不准确。

NoSQL 不代表:数据随便乱写、没有设计。

DynamoDB 仍然需要非常认真设计:Partition Key、Sort Key、Access Pattern、Index。

DocumentDB 也有:Document Structure、Index、Query Pattern。

区别是:数据模型、不是传统关系表设计的简单复制。


12.4-常见错误-2:DynamoDB-=-Managed-MongoDB

错误。

DynamoDB
→ AWS serverless distributed NoSQL
Key-Value / Document

DocumentDB
→ MongoDB-compatible Document Database

看到:MongoDB。

优先想到:DocumentDB。


12.5-常见错误-3:Aurora-=-NoSQL

错误。

Aurora 是:Relational、MySQL-compatible、PostgreSQL-compatible。


12.6-常见错误-4:ElastiCache-=-永久数据库替代品

不应该这样理解。

ElastiCache 的核心定位:In-Memory Cache / Data Store。

典型用于:降低数据库压力、减少 Latency、保存 Session / Hot Data。

很多业务仍需要:Durable Source of Truth。


12.7-常见错误-5:Multi-AZ-=-Read-Scaling

经典 Multi-AZ DB Instance:主要解决 HA。

Read Replica:主要解决 Read Scaling。

这是考试中非常容易反着选的点。


12.8-常见错误-6:Read-Replica-=-Backup

错误。

Read Replica
→ 当前数据副本 / Read Scaling

Backup / Snapshot
→ 历史恢复点

12.9-常见错误-7:Redshift-=-更大的-RDS

Redshift 是:Data Warehouse / Analytics,而不是单纯:“RDS 容量不够了,换一个超大 RDS。”。

工作负载不同:OLTP vs OLAP。


12.10-常见错误-8:RDS-管理一切,所以客户不用管安全

不对。

Managed Database 仍有:Shared Responsibility。

客户仍管理:Data、Identity、Access、Schema、Application、Configuration。


本篇概述

  • 本篇梳理了选型决策与高频错误相关的核心知识、适用场景与判断要点。

返回本章总述查看本章概述