AWS Solutions Architecture of DBS
RDB (Relational Database)
解决方案架构一:读副本(左) 解决方案架构二:多可用区(右)
- 读副本有助于提升读效率,多可用区支持灾难恢复
- 共同点是只能写入数据至主数据库

解决方案架构三:多区域读副本
请注意可用区和区域的概念! 可用区是一个区域内的单个数据中心或一组数据中心。可用区彼此相距数十英里(光信号毫秒级传输)。这个距离足够近,可以在可用区之间实现低延迟(请求内容与接收内容之间的时间)。但是,如果区域内的某个部分发生灾难,这个距离又足够远,可以降低多个可用区受到影响的几率。
区域的距离远超过数十英里
方案优势
- 容灾能力极强
- 部署在不同区域(如中国、美国),全球读效率高
- 主节点将数据备份给从节点需要付费(流量传输)

总结
RDS Multi-AZ 部署的主要目的是高可用性,而 RDS Read Replicas 的主要目的是可扩展性。此外,多区域部署的主要目的是灾难恢复和本地性能。
高可用是指数据库的持久性、冗余性和自动故障转移能力。 容灾是指在相隔较远的异地,搭建一个完整的集群环境,当一个地方发生灾难停止工作时,可以切换到另一处,使得系统可以正常提供服务。
Aurora
可以看作是云原生(cloud-native)版本的RDB
ElasticCache
类似于redis,不过拥有AWS的features:弹性伸缩,故障恢复,自动备份

DynamoDB
AWS旗舰产品,features:
- 自动托管在三个可用区
- NoSQL database
- serveless(无法访问服务器底层)
- low latency
表结构

结合DAX(DynamoDB专用缓存)

DynamoDB Global Tables
解决方案架构
- 多区域部署,实现低延迟
- Active-Active replication,任何副本都能进行读和写

Redshift
- 数仓
- serverless

EMR(Elastic MapReduce)
- 用于创建Hadoop集群(包含数百个EC2实例)处理大数据
- 支持Spark, HBase, Presto, Flink
Athena
serverless,用于分析存储在S3中的数据
使用标准SQL
Use Cases: BI(Business Intelligence/analytic/reportings/logs/CloudTrail trails)

QuickSight
- 基于机器学习生成交互dashboard
- 主要用于分析,可视化

DocumentDB
类似于云原生版本的MongoDB
Neptune
- 图数据库
- 主要用于社交网络

Timestream
时间序列数据库

QLDB
- Quantum Ledger Database:量子分类账数据库
- 检阅所有发生改变的应用数据的历史记录
- immutable(无法被修改或者删除)
- 主要用于财务

Managed Blockchain
区块链:在多方执行事务时,无需授权,构建应用
兼容两种框架

Glue
- serverless,ETL(extract, transform, load)服务
- 从S3或者RDS中提取数据,清洗,导入到RedShift中进行分析

DMS(Database Migration Service)
- 提供同质数据迁移(oracle to oracle)与异质数据迁移(Microsoft SQL Server to Aurora)

AWS Solutions Architecture of DBS
https://leopol1d.github.io/2024/01/12/AWS-Solutions-Architecture-of-DBS/