# Aliyun-ACE-RDS存储
## RDS版本
### 基础版
- 只有MySQL5.7
- 采用单节点部署
- 性价比非常高
- 计算和存储分离
- 适用个人学习和测试
- 可用性不高
### 高可用版
- 经典高可用架构(一主一备)
- 物理服务器和本地SSD硬盘
- 最佳性能
- binlog的数据复制技术
### 金融版
- 一主两备
- MySQL5.6
- 通过binlog日志多副本多级别复制,确保数据的强一致性
- 金融级的数据可靠性和跨机房容灾能力。
- 高可用性和安全性
## RDS规格
### 通用性
- 多实例部署
- CPU和存储空间复用
- 存在资源竞争
### 独享型
- 多实例部署
- CPU和存储隔离
- 不会出现多个实例发生资源争抢
### 独占型
- 是指一个MySQL实例独占一台服务器,
- 性能最好
- 价格最贵
## 产品优势
### 计费灵活
- 按量付费
- 包年包月
### 即开即用
- 无需购买服务器硬件和软件
- 控制台或者API数分钟内创建好
### 按需变配
- 按照业务需求变更数据库实例配置
### 透明兼容
- RDS与原生数据库引擎的使用方法一致
- RDS兼容您现有的程序和工具
### 管理便捷
- 阿里云负责RDS的日常维护和管理
- 阿里云控制台或者API自行完成数据库的增加、删除、重启、备份、恢复等管理操作
## 存储类型
### 本地SSD盘
- 本地SSD盘是指与数据库引擎位于同一节点的SSD盘。将数据存储于本地SSD盘,可以降低I/O延时
- 所属的RDS实例都是一主一备(高可用版)或一主两备(金融版)架构,主节点故障时,主备节点秒级完成切换
### SSD云盘
- SSD云盘是指基于分布式存储架构的弹性块存储设备。将数据存储于SSD云盘,即实现了计算与存储分离
- 分布式云盘,通过多副本冗余确保数据可靠性
### ESSD云盘
- 增强型(Enhanced)SSD云盘,是阿里云全新推出的超高性能云盘产品。ESSD云盘基于新一代分布式块存储架构,结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和更低的单路时延能力
- 分布式云盘,通过多副本冗余确保数据可靠性
## 安全机制
### 网络
- IP 白名单、VPC 网络、SSL(安全套接层协议)
### 存储
- TDE(透明数据加密)、自动备份
### 容灾
- 同城容灾(多可用区实例)、异地容灾(两地多中心)
### 数据加密
### 防 DDoS 攻击
### 流量清洗
### 黑洞处理
## 备份、恢复实例容灾
### 备份功能
- 数据备份
- 强制周期性备份,每周必须选择两天及两天以上的备份周期和备份时间段来进行全量的常规物理备份。
- 随时备份 通过控制台或者API随时发起全量的临时物理备份。
- 日志备份
- 可选项,您可以选择开启或者关闭。如果关闭日志备份,那么恢复数据时只能恢复到数据备份集所在的时间点
- 数据备份和日志备份使用相同的过期删除策略。可以将备份过期的天数设置为7到730中的任何一个数字,也可以通过调整过期策略实时删除较老的备份
### 恢复功能
- 按备份集恢复
- 可以将指定备份集的数据恢复到一个临时实例或克隆实例上
- 按时间点恢复
- 可以选择临近时间点,系统根据全量备份以及之后的日志备份,将数据重新放到一个临时实例或克隆实例上。
- 覆盖性恢复
- 可以将指定备份集的数据恢复到当前RDS实例上,而非临时实例或克隆实例。但若您使用这种恢复方式,恢复后的实例将不具备数据恢复功能,谨慎使用。数据恢复功能和备份策略紧密相关
- 数据恢复的早时间取决于早一个数据备份(与数据备份的频率和过期策略相关)
- 数据恢复的晚时间取决于后一个日志备份(与日志生成量有很大关系)
- 数据恢复是否支持按时间点恢复取决于日志备份是否开启。
- 数据恢复的速度取决于数据备份的频率(也与日志生成量有很大关系
### 容灾
- 多可用区实例
- RDS单可用区主实例运行在同一个可用区中的两台物理服务器上,可用区内机柜、空调、电路、网络都有冗余。通过异步/半同步的数据复制方式和高效的HA切换机制,RDS为用户提供了高于物理服务器极限的数据库可用性。
- RDS支持多可用区实例(也叫做同城双机房或者同城容灾实例) 切换过程透明
- 发生容灾切换时应用到数据库的连接会断开,需要应用重新连接RDS
- 灾备实例
- 突破同地域的不同可用区之间的容灾能力局限
- 地域A的RDS实例A’通过数据传输(Data Transmission)异步复制到地域B的RDS实例B
- 实例B’是一个完整独立的RDS实例,拥有独立的连接地址、账号和权限
- 非透明式的切换,应用更改地址
- 容灾切换前用户需要先停止实例A’到实例B ’的数据复制,以免造成数据错乱
## 架构扩展
### 只读实例
- 应用场景
- 读多写少的场景,适合传统的读写分离场景,只读实例满足大量的数据库读取需求,增加应用的吞吐量。
- 实现原理
- 从备实例复制数据,数据与主实例一致,主实例的数据更新也会在主实例完成操作后立即自动同步到所有只读实例,也可以在只读实例上设置只读实例延时复制
- 只读、备份和灾备实例的区别
- 只读实例和主备实例在同一地域,可以在不同可用区;备实例和主实例在同一个地域;灾备实例和主备实例在不同地域
- 只读实例可以根据需要创建最多10个;备实例数量是固定的1~2个,高可用版1个,三节点企业版(原金融版)2个;灾备实例是不同地域的一主一备
- 只读实例创建并设置读权重后就会持续提供服务;备实例和灾备实例在主实例正常运行时都不会提供服务
- 功能限制
- 只读实例的数量
- MySQL内存<64G 最多创建5个只读实例
- MySQL内存大>=64G 最多创建10个只读实例
- 实例备份
- 因为主实例已经备份,只读实例暂不支持备份设置以及手动备份
- 实例恢复
- 不支持通过备份文件或任意时间点创建临时实例,不支持通过备份集覆盖实例
- 创建只读实例后,主实例将不支持通过备份集直接覆盖实例来恢复数据。
- 数据迁移
- 不支持将数据迁移至只读实例
- 数据库管理
- 不支持创建和删除数据库
- 账号管理
- 不支持创建和删除账号,不支持为账号授权以及修改账号密码功能
- 功能特点
- 地域和可用区
- 与主实例在同一地域,可以在不同的可用区
- 计费方式
- 按量付费,使用更灵活,费用更便宜 即每小时扣费一次,费用取决于扣费时的只读实例规格
- 规格
- 可以与主实例不一致,并且可以随时更改。建议只读实例规格不小于主实例规格,否则易导致只读实例延迟高、负载高等现象
- 网络类型
- 可以与主实例不一致
- 账号和数据库管理
- 不需要维护账号与数据库,全部通过主实例同步
- 白名单
- 只读实例创建时会自动复制其主实例的白名单信息,但只读实例和主实例的白名单是相互独立的。若您需要修改只读实例的白名单,请参见设置白名单
- 性能监控
- 提供近20个系统性能指标的监控视图,如磁盘容量、IOPS、连接数、CPU利用率、网络流量等
- 性能优化MySQL
- 提供多种优化建议,如存储引擎检查、主键检查、大表检查、索引偏多、缺失索引等,用户可以根据优化建议并结合自身的应用特点来对数据库进行优化