AWS 数据库相关的知识点。
亚马逊关系型数据库服务 RDS (Relational Database Service)
一、Amazon RDS 基本概念



RDS是托管的关系型数据库- ⭐
RDS运行在EC2实例上,需要选择实例类型 RDS支持的数据库引擎:Amazon AuroraMySQLMariaDBOracleMicrosoft SQL ServerPostgreSQL
二、Amazon RDS 垂直扩展 (Vertical Scaling) (Scale Up)

三、Amazon RDS 水平扩展 (Horizontal Scailng) (Scale Out) 和灾难恢复 (DR, Disaster Recovery)

亚马逊 RDS 的备份和恢复
一、Amazon RDS 自动备份 (Auto Backup)

- RDS 自动备份时,实际上是创建了一个快照
- ⚠ 快照保留 0 ~ 35 天
二、Amazon RDS 手动备份 (Manual Backup)

- 手动备份将备份整个数据库的
EC2实例,而非单个数据库 - 快照没有过去时间
三、Amazon RDS 维护窗口 (Maintenance windows)

RDS 只读副本 (Read Replicas)
一、RDS 只读副本基本概念

二、RDS 只读副本重要知识点

- ⭐ 创建只读副本,必须启用源数据库的自动备份
- 只读副本能提升 (Promote) 为独立数据库
亚马逊 RDS 安全相关
一、亚马逊 RDS 安全相关基本概念


- ⭐ 不能更改现有数据库的加密状态
二、⭐ 亚马逊 RDS 安全相关考点

- ⭐ 只读副本的加密状态始终与主实例相同
- 只读副本与主数据库位于同一
区域将使用同一KMS 密钥,位于不同区域的话使用不同KMS 密钥
三、将未加密的数据库实例调整为加密的

- 给未加密的数据库实例创建一个未加密的 DB 快照
- 将未加密的快照复制为加密的快照
- 从加密的快照恢复一个加密的
RDS实例 - 更新应用程序指向新的加密的数据库实例的终端节点
亚马逊 Aurora
一、Amazon Aurora 基本概念

- 与现有的 MySQL 和 PostgreSQL 数据库兼容
- ⭐
Aurora副本始终位于同一区域内 - ⭐ 允许在一个
区域内进行写入扩展多主数据库仅适用于 MySQL。
二、Amazon Aurora 架构带来的容错性优势

三、Aurora 副本和 MySQL 副本的比较

四、Aurora MySQL 跨区域副本

五、Aurora 全局数据库

六、Aurora 多主数据库

七、Aurora Serverless


- ⭐
Aurora Serverless是一种基于性能进行扩展的方式,无需始终运行数据库
亚马逊 ElastiCache(内存缓存服务)
一、Amazon ElastiCache 基本概念

ElastiCache是用来托管 Redis 或 Memcached 的服务- ⚠ 使用
ElastiCache需要对当前使用 Redis 或 Memcached 的应用程序进行修改(重构)
二、Amazon ElastiCache 作为 DB 缓存

三、Amazon ElastiCache 作为用户会话存储

四、ElastiCache Redis 和 Memcached 的区别

- ⚠ Memcached 的多节点并不是复制数据的,只是数据分片
亚马逊 DynamoDB
一、Amazon DynamoDB 基本概念


二、Amazon DynamoDB 重要特性

三、Amazon DynamoDB 主键 (Primary Key)

例子中的
People表中,PersonID就是分区键(主键)。

例子中的
Music表中,分区键Artist和排序键SongTitle共同构成了主键。
四、Amazon DynamoDB 二级索引

- ⭐ 只能通过分区键以及排序键,或者通过索引对表进行查询
这与
RDS中可以对任一列进行查询很不一样。
五、Amazon DynamoDB Accelerator (DAX)

- ⭐
DAX是DynamoDB的缓存服务 - 解决 HOT KEY 问题,通过缓存热点项目,使访问不达到
DynamoDB以减轻压力
六、选择 DynamoDB Accelerator (DAX) 还是 ElastiCache

DAX适合不需要繁重计算的场景(对DynamoDB表中的单个项目做缓存,以及对查询和扫描结果做缓存)ElastiCache适合需要对DynamoDB表中数据的繁重计算结果进行缓存的场景
亚马逊 RedShift
一、Amazon RedShift 基本概念

- ⭐
RedShift是基于 SQL 的用于分析的数据仓库 - ⭐
RedShift运行在EC2实例上,需要选择实例类型
二、在线事务处理 (OLTP) 和在线分析处理 (OLAP) 的区别

- OLTP 使用数据库:
RDS、DynamoDB - OLAP 使用数据库:
RedShift、EMR (Elastic MapReduce)
三、报告和分析的使用场景

- 数据先集中到
RedShift,再由使用 SQL 引擎的 BI 工具连接并进行分析
四、RedShift 数据源

- ⭐ 可以使用
RedShift Spectrum对S3的数据进行 SQL 查询
五、RedShift 使用场景

亚马逊 Kinesis
一、Amazon Kinesis Services 家族

二、Kinesis Data Streams

三、Kinesis Client Library (KCL)



四、Kinesis Data Firehose


- ⭐ 在
Kinesis Data Firehose将数据输出到目标之前,可以选择性地调用Lambda函数对数据进行额外的处理或转换来实现自定的逻辑,类似过滤、修改、聚合和格式化等。
五、Kinesis Data Analytics

- 提供对流式数据进行实时 SQL 处理的能力