Skip to content

Chapter 07 - Database

本章目标

看完本章后,你应该可以回答:

  • RDS、Aurora、DynamoDB、ElastiCache、Redshift 怎么选?
  • Multi-AZ 和 read replica 差在哪里?
  • relational、NoSQL、cache、analytics 各自對应什么需求?
  • SAA-C03 常见 database 题目怎么拆?

一句话

Database 选型不是看名字,而是看数据模型、读写模式、transaction、latency、scaling 和管理负担。

架构位置

Database 位于核心数据层,会直接影响 reliability、performance、cost 和 operational overhead。

常见服务与概念

  • RDS
  • Aurora
  • DynamoDB
  • ElastiCache
  • Redshift
  • RDS Multi-AZ
  • Read replica
  • Global database
  • DAX

PM 视角

PM 要先厘清数据需求:是否 relational?是否需要 transaction?读多还是写多?全球用户读取吗?可以接受 eventual consistency 吗?报表分析是不是和线上交易混在一起?

Developer / DevOps 视角

工程师要能判斷 database bottleneck 是 availability、read scaling、write scaling、latency、schema flexibility,还是 analytics workload。

考试怎么问

常见题型会问:

  • RDS 如何提高 availability
  • read-heavy workload 如何 scale
  • serverless key-value workload 用什么
  • low latency cache 放哪里
  • analytics query 不该打 production database 时怎么辦

常见陷阱

陷阱正确方向
Multi-AZ 当成读扩展Multi-AZ 偏 HA,read replica 才偏读扩展
DynamoDB 当 relational databaseDynamoDB 适合 key-value / document access pattern
cache 当 durable databaseElastiCache 是 performance layer,不是主要持久数据库
Redshift 拿來 OLTPRedshift 是 analytics / data warehouse

原创学习内容。非官方认证资料。