[关闭]
@llplmlyd 2023-05-23T17:04:20.000000Z 字数 1691 阅读 163

公有云创建只读实例调研报告

数据库


场景

异地/同城灾备

主实例因备份或维护等原因暂不可用时,可将读请求转发至只读实例,保证部分业务正常运行。

负载均衡

单个实例负载过大时,可以创建只读实例,将读请求转发至只读实例,用于分担主实例负载。
在报表分析等场景下,使用只读实例查询、分析大量数据,不影响主实例业务。
在读写分离场景下,使用只读实例可以避免读写锁争抢问题,提升系统的性能和吞吐量。

业界案例

阿里云

创建MySQL只读实例

定位--仅负载均衡

用于与主实例同一区域进行读写分离,它会对外进行服务。与异地灾备集群不通,异地灾备集群与节点在主实例正常运行的情况下均不对外服务,冷备。

原理

数据库引擎的内置复制功能来从源数据库实例创建一个特殊类型的数据库实例。

限制

0、仅支持 5.7/8.0版本的数据库实例,备份开启的集群
1、只能在主实例内创建只读实例,不能将已有实例切换为只读实例。
2、存储类型限制,需要与主实例保持一致。
3、只读实例的存储空间必须大于或等于其所属主实例的存储空间。
4、网络联通性,需要在同一VPC中
5、无需对只读实例进行备份,备份在主实例上进行,由于使用快照备份,对主实例没有性能开销。
6、创建只读实例期间主实例无法进行变配等操作,需要等只读实例创建完成后才能操作主实例。
7、只有高可用版本(2节点)集群才可添加只读实例,实现读写分离。
8、只读副本默认使用主实例的参数
9、删除主实例时,只读实例自动释放
10、 不支持循环复制

系列

支持

1、大区必须和主实例相同,可用区无限制,只要有资源即可选择。
如果需要跨大区,是建立灾备实例

2、CPU内存磁盘等规格可自定义。
3、支持创建只读实例高可用版本(2节点)指定其主备可用区。
MySQL只读实例简介

AWS

使用数据库实例只读副本
使用 MySQL 只读副本
在不同的 AWS 区域中创建只读副本

原理

Amazon RDS 使用 MariaDB、Microsoft SQL Server、MySQL、Oracle 和 PostgreSQL 数据库引擎的内置复制功能来从源数据库实例创建一个特殊类型的数据库实例,称为只读副本。

定位 -- 灾备/负载均衡/迁移

限制

0、仅支持 5.7/8.0版本的数据库实例,备份开启的集群,使用GTID复制。
1、删除主实例后,只读实例会自动提升为主;如需删除只读副本需要单独进行删除。
2、只读副本与源数据库实例的存储类型相同。
3、只读副本规格

支持

您可以使用复制筛选条件来指定使用只读副本的数据库和表。复制筛选条件可以将数据库和表包含在复制之中或排除在复制之外。

以下是复制筛选条件的一些使用案例:
- 缩减只读副本的大小。使用复制筛选,您可以排除只读副本上不需要的数据库和表。
- 出于安全原因,将数据库和表从只读副本中排除。
- 在不同只读副本中为特定使用案例复制不同的数据库和表。例如,您可以使用特定的只读副本进行分析或分片。
- 对于在不同 AWS 区域中具有只读副本的数据库实例,要在不同的 AWS 区域中复制不同的数据库或表。

系列

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注