基础概念
- 支持的数据库引擎
- 云数据库RDS MySQL
- 云数据库RDS SQL Server
- 云数据库RDS PostgreSQL
- 云数据库RDS PPAS:企业级关系型数据库,基于PostgreSQL。
- 云数据库RDS MariaDB TX:MariaDB是MySQL的一个分支。
- 实例版本
- 基础版:只有一个主库。
- 由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于同样配置的高可用版或三节点企业版(原金融版)甚至有所提升;
- 可以通过变更配置升级为高可用版实例。
- 高可用版:包括一个主库一个备实例。
- 主备实例的数据会实时同步,当主实例出现故障无法访问时,会自动切换到备用实例;
- 高可用版实例的主备实例可以部署在同一可用区,也可以部署在不同可用区;
- 高可用版实例的主备实例不可以跨地域;
- 备实例不可以访问,仅作为备份形式存在,不提供业务访问;
- 高可用版暂不支持降为基础版;
- 当备实例出现故障不可用时,主实例会进行实时备份,主实例备份临近完成时会产生全局锁(FTWRL),导致主实例只读,一般不会超过5秒。
- 集群版:购买时默认为高可用架构(仅包括主实例和备实例,没有只读实例),后续可以按需扩容最多7个只读实例。
- 目前仅SQL Server 2017支持集群版;
- 集群版支持增加只读实例,实现线性扩展读能力;
- 由于只读实例默认不具备高可用能力,因此,若需要实现高可用能力,则需至少创建两个值读实例;
- 成本灵活控制,只读实例的规则可与主实例不一致,根据实际业务情况做最优选择。
- 三节点企业版:一主两备
- 通过多副本同步复制,确保数据的强一致性,提供金融级的可靠性;
- 支持的数据库版本:RDS MySQL 5.6/5.7/8.0版;
- 基于性能考虑,三节点企业版实例各个节点不可以跨地域;
- 同时满足强一致性和可用性;
- 只读实例暂不支持三节点企业版;
- 可以将高可用版升级到三节点企业版。
- 规格族
- 共享型(暂不支持),实例有资源争抢风险。
- 通用型,存储大小不和CPU/内存绑定,可以灵活选配。
- 独享型,具有完全独享的CPU和内存,性能长期稳定。
- 存储类型
- 本地SSD盘:本地SSD盘是指与数据库引擎位于同一节点的SSD盘。将数据存储于本地SSD盘,可以降低I/O延时。
- I/O延迟低,性能好;
- 独享型实例的存储容量由实例规格决定,无法单独调整;
- 弹性扩展能力差。
- SSD云盘:SSD云盘是指基于分布式存储架构的弹性块存储设备,将数据存储于SSD云盘,即实现了计算与存储分离。
- 有额外的网络I/O,性能相对较差;
- 可选配置较多,存储容量也可单独调整;
- 弹性扩展能力好。
- ESSD云盘:增强型(Enhanced)SSD云盘,是阿里云全新推出的超高性能云盘产品。
- I/O性能相对SSD云盘有大幅提升;
- 可选配置较多,存储容量也可单独调整;
- 弹性扩展能力好。
RDS MySQL数据库
- 使用限制
- 必须通过控制台或API重启实例;
- 临时备份每天可触发次数没有限制;
- 只支持通过RDS管理控制台进行备份;
- RDS只有高权限账号和普通权限账号,都不具备数据root权限(注意和ADS区分);
- 一个实例最多可以创建500个数据库;
- 不支持数据库引擎版本的降级;
- 只读实例
- 用来分担RDS主实例的写压力;
- 只读实例MySQL版本最低为MySQL 5.6;
- 只读实例无法管理账号,不支持创建和删除账号,不支持为账号授权以及修改账号密码功能;
- 因主实例已有备份,只读实例暂不支持备份设置以及手动发起备份;
- 只读实例不支持删除和创建数据库;
- RDS只读实例不能自动释放;
- RDS连接闪断
- 主库出现故障;
- 在切换网络类型时,RDS服务可能会出现一次30秒的闪断;
- 创建数据库
- 通过管理控制台完成;
- 直接调用RDS的openAPI。
- RDS for MySQL支持的引擎
- MyISAM(新创建实例已不支持,只支持部分存量实例)
- InnoDB
- TokuDB
- 白名单:RDS的白名单包括两种类型,IP白名单和安全组,您需要设置RDS实例的白名单,以允许外部设备访问该RDS实例。
- IP白名单
- 默认的IP白名单只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例;
- 通用白名单模式,IP地址不区分经典网络和专有网络,有安全风险;
- 高安全白名单模式,区分经典网络和专有网络,创建IP白名单分组时需要指定网络类型。
- 安全组
- 安全组是一种虚拟防火墙,用于控制安全组中的ECS实例的出入流量;
- 在RDS白名单中添加安全组后,该安全组中的ECS实例就可以访问RDS实例。
- RDS数据库实例被锁定后,只能select、show和drop,不能做insert、update、delete操作;
- 预付费模式RDS实例过期后,实例将会被锁定,无法进行写操作;
- RDS MYSQL版支持字符集:utf8、gbk、latin1、utf8mb4;
- RDS MySQL数据同步依靠Binlog日志,RDS SQL server使用事务日志;
DRDS
- DRDS的全局唯一ID
- 没有单点性能瓶颈;
- 全局唯一;
- 大并发获取。
- 平滑扩容:DRDS的平滑扩容包括配置-迁移-切换和清理四个部分。
- 配置:配置扩容任务信息,为避免对生产环境产生影响,此步骤建议您选择购买新RDS实例进行平滑扩容;
- 迁移:新增RDS实例后,平滑扩容会对部分物理分库进行迁移。迁移任务不会变更原有数据库中数据,不影响在线业务。在切换前,可以通过回滚,放弃本次平滑扩容操作;
- 切换:切换任务会将读写流量切换到新增的RDS实例上,整个过程会在3~5分钟内完成。在切换过程中,除了会有一到两次闪断,服务不受影响。请在业务低谷期执行切换;
- 清理:此步骤将删除原RDS上被迁移的分库。清理任务完成后,整个平滑扩容过程结束。新增RDS实例会成为DRDS 对应逻辑库新的存储节点。
- DRDS的读策略包括主库读、均衡、只读均衡、自定义。
- DRDS不具备智能索引。
- DRDS默认每个实例创建8个数据库,也就是说2个实例就会有16个分库,3个实例24个分库以此类推。