1. 什么是RDS
1) 概念
• 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务。
• 基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL和MariaDB TX引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
数据库服务水平弹性伸缩主要有以下两种类型:
• 读写分离:在对数据库需求为读多写少的场景下,增加只读节点以扩展读取的能力。
• 分库分表:当数据量非常大需要多个RDS共同承担时,使用PolarDB-X分布式数据库自动进行分库分表,将数据分担到多个RDS上。
2) 目标
• 将耗时费力的数据库管理任务承担下来,使用户能够专心于应用开发和业务发展。
• 用户可根据业务需求对RDS进行弹性伸缩。
3) 可靠性保证
• RDS采用主从备份架构,具备高可用性,承诺不低于99.95%的服务可用性。
• SSD云盘每份数据具有3个副本,承诺不低于99.9999999%的数据可靠性。
• 本地盘基于RAID,承诺99.9999%的数据可靠性。
2. RDS的产品优势
1) 自研内核:AliSQL
2) 便宜易用
3) 高性能
4) 高可用和容灾设计:
RDS默认提供备份功能,支持一主一备高可用架构,主备数据自动同步。
集群级容灾:主备实例在同一机房。
机房级容灾:主备实例在同一地域的不同可用区内。
地域级容灾:两个RDS,均支持主备高可用架构。
5) 高安全性:
事前:控制访问源,如:白名单/VPC。
事中:SSL证书、TDE透明数据加密。
事后:操作审计+数据库审计。
6) 与自建数据库对比优势
3. RDS产品系列
1) 基础版
2) 高可用版
3) 集群版(SQL Server)
4) 三节点企业版(MySQL)
除了基础版只有一个主实例,其他3个版本都是有主备实例,数据可以自动复制,支持增加只读实例实现读写分离,一个RDS最多可以加10个只读实例。
4. RDS核心概念
1) 地域可用区
2) 实例
3) 数据库
4) 数据库账号
5) 运行状态
6) 产品规格,分为三类:
共享型实例:与同一物理机上其他实例共享CPU资源。
独享型实例:独享CPU和内存。
独占型实例:独占一台物理机的所有资源。
5. RDS数据库与账号管理
• 由于RDS拥有自身的数据库及数据库账号管理体系,使得用户无法直接使用命令进行数据库创建。
• 用户可以通过RDS管理控制台创建数据库,数据库名称实例内唯一,实例间互不影响。
注意
对于MySQL类型实例,最多可创建500个数据库。
• 数据库账号管理可用于创建新的数据库账号,或者修改已有数据库账号的信息。
• RDS MySQL实例支持两种数据库账号:高权限账号和普通账号。
高权限账号:拥有实例下所有数据库权限,无法通过可视化的方式创建和管理账号。
普通账号:仅有登录数据库权限,对于数据库和账号的管理只能在RDS控制台通过可视化方式管理。
注意
• 对于MySQL实例,每个实例最多可创建500个数据库账号;
• 账号创建后,账号类型无法切换,用户可以删除账号后重新创建同名账号。
6. RDS数据库的连接
RDS数据库的连接主要有三个步骤:
步骤1:确认是否满足内网访问的条件
• ECS实例与RDS实例位于同一地域。
• ECS实例与RDS实例的网络类型相同。
步骤2:设置IP白名单
• 通用白名单模式:目前默认的模式。
• 高安全白名单模式:早期实例采用的模式。
步骤3:连接RDS实例
• 原生命令行
• 第三方工具
• 程序编码
• DMS
7. 只读实例
在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压力,您可以创建一个或多个只读实例,利用只读实例满足大量的数据库读取需求,增加应用的吞吐量。
• 只读实例采用 MySQL 的原生复制功能,将源数据库实例(以下简称主实例)的更改同步到所有相关的只读节点。
• 根据MySQL内存大小:内存≥64GB最多可创建10个只读实例、内存<64GB最多可创建5个只读实例。
• 只读节点采用单个物理节点的架构,只读节点down机后,阿里云承诺将在24小时内恢复。
8. 异地灾备实例
异地灾备实例=标准RDS实例+自动搭建好的DTS线路
• 对于数据可靠性有强需求的业务场景、或是有监管需求的金融业务场景,RDS提供异地灾备实例,帮助用户提升数据可靠性。
• RDS通过数据传输服务(DTS)实现主实例和异地灾备实例之间的实时同步。
• 主实例和灾备实例均搭建主备高可用架构,当主实例所在区域发生突发性自然灾害等状况,主实例和备实例均无法连接时,可将异地灾备实例切换为主实例,在应用端修改数据库连接地址后,即可快速恢复应用的业务访问。
• 建议灾备节点距离原始节点最好超过500KM以上。
• 灾备实例可通过DTS管理控制台实现同步对象变更、同步速度设置、延迟报警等同步链路原生功能。
灾备实例还有以下功能特点:
• 提供独立的数据库连接地址,由用户应用端自助控制连接。
• 使用主备高可用架构。
• 按量付费,即开即用、即停即止。
• 提供独立的白名单配置、账号管理。
9. 只读实例、主备实例和灾备实例三者之间的关系
1) 地域可用区
• 只读实例和主备实例在同一地域,可以在不同可用区。
• 备实例和主实例在同一个地域。
• 灾备实例和主备实例在不同地域。
2) 实例数量
• 只读实例可以根据需要创建最多10个。
• 备实例数量是固定的1-2个,高可用版1个,三节点企业版(原金融版)2个。
• 灾备实例是不同地域的一主一备。
3) 提供服务的限制
• 只读实例创建并设置读权重后就会持续提供服务。
• 备实例和灾备实例在主实例正常运行时都不会提供服务。
10. 数据管理DMS简介
DMS是面向数据库开发者、数据开发者的一站式在线数据管理平台。
11. 数据迁移DTS产品介绍
数据传输服务(Data Transmission Service,简称DTS)支持关系型数据库、NoSQL、大数据(OLAP)、分布式数据库等数据源,集数据迁移、订阅、实时同步及ETL流式数据处理功能于一体,能够解决公共云、混合云场景下,远距离、秒级异步数据传输难题。其底层基础设施采用阿里双11异地多活架构,为数千下游应用提供实时数据流。