使用RDS要注意些什么
- 实例的操作系统,对用户都不可见,这意味着,只允许用户应用程序访问数据库对应的IP地址和端口。
- 对象存储服务(Object Storage Service,简称OBS)上的备份文件以及关系型数据库服务使用的弹性云服务器(Elastic Cloud Server,简称ECS),都对用户不可见,它们只对关系型数据库服务的后台管理系统可见。
- 查看实例列表时请确保与购买实例选择的区域一致。
- 申请关系型数据库实例后,您不需要进行数据库的基础运维(比如高可用、安全补丁等),但是您还需要重点关注以下事情:
- 关系型数据库实例的CPU、IOPS、空间是否足够,如果不够需要变更规格或者扩容。
- 关系型数据库实例是否存在性能问题,是否有大量的慢SQL,SQL语句是否需要优化,是否有多余的索引或者缺失的索引等。
什么是RDS实例可用性
关系型数据库实例可用性的计算公式:
实例可用性=(1–故障时间/服务总时间)×100%
RDS实例是否会受其他用户实例的影响
关系型数据库实例不会受其他用户实例影响,因为每个用户的关系型数据库实例与其他用户的实例是相互独立的,并且有资源隔离,互不影响。
关系型数据库支持跨AZ高可用吗
RDS支持跨AZ高可用。当用户创建实例的时候,选择主备实例类型,可以选择主可用区和备可用区不在同一个可用区(AZ)。
可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。
关系型数据库服务支持在同一个可用区内或者跨可用区部署数据库主备实例,备机的选择和主机可用区对应情况:
- 不同(默认),主机和备机会部署在不同的可用区,以提供不同可用区之间的故障转移能力和高可用性。
- 相同,主机和备机会部署在同一个可用区,出现可用区级故障无法保障高可用性。
RDS是否支持主备实例变更为单机实例
RDS仅支持单机实例变更为主备实例,主备实例无法变更为单机实例。您可以通过DRS或者客户端导出导入工具将数据从主备实例迁移到单机实例。
为何使用了RDS后网站登录较慢
推荐您做如下两个处理:
- 通过关系型数据库服务的管理控制台查看关系型数据库实例的性能情况。
- 与应用程序有很大关系,使用命令查看当前数据库连接状态,比较本地数据库和关系型数据库的差异。
主实例和只读实例之间可以设置数据同步方式吗
- 针对MySQL引擎:
RDS console上展示的数据同步方式,指的是主实例和备实例之间的数据同步方法,支持半同步和异步两种。关注数据安全,请选择半同步,关注性能,请选择异步。
对于主实例和只读实例之间,默认是异步方式,不可以修改同步方式。
- 针对Microsoft SQL Server引擎:
主实例和备实例之间支持同步提交模式,且不可以修改。
主实例和只读实例之间支持异步提交模式,且不可以修改。
主备同步存在多长时间的延迟
如果复制线程正常运行,复制延迟是一个代表秒的数值。如果SQL线程异常、I/O线程正常运行但SQL线程重放了所有的relay log的话,复制延迟的值为NULL。
主机与备机的同步延迟是无法利用公式来计算的,它会受到以下因素的影响:
- 网络通信状况。
- 主机的事务压力,即主机每秒执行的事务量。
- 主机执行的事务大小,即一个事务要执行多久。
- 备机和只读实例的机器负载状况。
如果主机在某个时间段压力非常大,每秒执行的事务量非常多,备机通常会出现延迟。反之,延迟一般都是秒级。
- 对于RDS for MySQL,可以在“实例管理”页面,单击实例名称,进入实例基本信息面,其中,复制源为该实例下的主机,在复制状态正常的情况下,通过查看“实时复制时延”,来获取当前主备同步延迟值。
- 对于RDS for PostgreSQL,可以通过Cloud Eye页面查看监控指标“复制时延”,来获取当前主备同步延迟值。
- 对于Microsoft SQL Server,可以通过Cloud Eye页面查看监控指标“数据同步延迟”,来获取当前主备同步延迟值。
多台弹性云服务器是否可以使用同一个RDS数据库
在数据库的压力承载范围内,多台弹性云服务器是可以使用同一个关系型数据库来支撑业务的。
MySQL开启GTID后有哪些限制
MySQL默认开启GTID且不支持关闭,主备关系的建立等功能均依赖GTID。如果关闭GTID,会对整个RDS的功能(比如备份恢复、主备倒换)受到影响甚至无法运行。
社区版MySQL开启GTID后,如下三种语句执行会报错:
- 使用select语句建表(create table...select)会报错。
- 如果在一个事务中同时处理支持事务的引擎(InnoDB)和不支持事务的引擎(MyISAM)会报错。
- 显式事务中创建临时表(create temporary table)会报错。
为了放开社区版的这些约束,云数据库RDS对MySQL内核进行了改造,以支持这些语句。
不同RDS实例的CPU和内存是否共享
CPU和内存指的是购买的实例规格,并且服务器是独立的,不会出现不同RDS共用资源的情况。
RDS实例内能运行多少个数据库
关系型数据库服务没有强制限制在一个RDS实例内能运行多少个数据库,这取决于数据库引擎自身设置。
如果CPU、内存和磁盘大小均满足的情况下,实例允许数据库数量没有限制。数据库中表的数量会影响备份速度。表数量超过50万,备份将会失败。
- RDS for MySQL创建的数据库、表数量没有限制。这取决于MySQL自身,详情请查看MySQL官方文档。
- RDS for PostgreSQL可创建无限个数据库、无限个数据库帐号。
MySQL是否有单表尺寸限制
MySQL单表的有效最大表尺寸受限于操作系统的文件尺寸限制,而不是受MySQL内部机制的限制。
由于存在部分元数据开销,MySQL单表尺寸的最大限制为2TB。