11月早些时候,我们有机会的”谷歌云平台:MySQL在规模与可靠的哈”。我们讨论了不同方法托管MySQL在谷歌云平台可用选项的优点和缺点。会议记录,可以查看在这里在任何时间。我们有几个重大问题,我们想在研讨会地址和详细说明给出的答案。

问:什么是你的观点在谷歌云SQL高可用性云?
答:谷歌云SQL提供高可用性通过区域的实例。如果你的云SQL数据库区域,这意味着有一个备用实例在另一个区在同一地区。两个实例(主要和备用)保持同步通过同步复制磁盘上的持续的水平。由于这种方法,在一个意想不到的故障转移的情况下,没有数据丢失。这种方法的最大缺点是,你必须支付备用资源即使你不能使用任何交通的备用实例,这意味着你的成本翻倍,没有性能优势。故障转移通常需要超过30秒。
总之,高可用性在谷歌云SQL是可靠的,但可以是昂贵的,和故障转移时间为关键应用程序并不总是足够的。
问:如何从谷歌云SQL迁移到AWS RDS呢?
答:迁移的最简单的方法,如果你能负担得起的停机时间是停止编写SQL工作负载到云实例,逻辑备份(mysql或mydumper),恢复AWS RDS,然后整个工作负载转移到AWS RDS。在大多数情况下,这是不够的。情况比较复杂,当你想让它没有(或很少)停机时间。
为了避免停机,您需要建立云之间复制SQL(源)和RDS实例(复制品)。云SQL可以用作源外部副本实例,描述这个文档。你可以把一个逻辑备份云运行的SQL实例(例如,使用mydumper),恢复RDS和云之间建立复制SQL和RDS。使用外部源RDS这里描述。它通常是一个好主意使用VPN连接两国云区域,以确保你的连接是安全的和数据库不暴露在公共互联网。一旦复制了,步骤如下:
- 停止写交通在谷歌云SQL实例
- 等待复制赶上(同步所有binlogs)
- 使RDS实例可写,停止云SQL - > RDS复制
- 写流量的RDS实例
- 解除您的云SQL实例
AWS DMS服务也可以作为中介在这个操作。
问:复制可能云间,例如,谷歌云SQL AWS RDS, AWS RDS谷歌云SQL呢?如果质量下降,将RDS作为主要,反之亦然?
答:一般来说,复制云层之间是可能的(参见前面的问题)。谷歌云SQL和AWS RDS可以作为源和副本,包括外部实例作为你的一部分复制拓扑。高可用性解决方案,然而,在这两种情况下,一个云提供商实现非常具体,他们不能合作。所以它是不可能自动故障转移从RDS GCP,反之亦然。为这样的安装,我们建议自定义安装谷歌与Percona AWS EC2计算实例和数据库管理服务——如果你不想自己管理这样一个复杂的设置。雷竞技下载官网
问:你是怎样计算IOPS和吞吐量的存储选项?
答:我们没有计算值以任何方式。这些都是直接取自谷歌云平台的文档。
问:如何GCP实现同步复制?
答:同步复制可能只在源和相应的备用实例之间;不可能之间的同步复制主和你读过副本。每个实例都有自己的存在于磁盘上。保持同步,所以这些磁盘复制发生在存储层、数据库层。没有实现细节关于它是如何工作的。
问:你能解释一下如何保持可用的主实例和维护窗口期间可写?
答:不可能保证主实例的可用性。记住,即使你选择你的维护窗口,当你可以接受停机时间,这可能是也可能不是跟着(它只是一个偏好问题)。维护事件可以发生在任何时候如果他们至关重要,不得在指定窗口完成。如果这是不可能接受你的应用程序中,我们建议设计一个高度可用的解决方案,例如,雷竞技下载官网Percona XtraDB集群在谷歌计算引擎实例。这种解决方案不会有这样维护窗口的问题。






几句话从我们的经验CloudSQL公顷。
>问:你的观点是什么在谷歌云SQL高可用性云?
>答:[…]故障转移通常需要超过30秒。
作为整个实例模具/崩溃,数据库过程中死了,故障转移将在崩溃恢复模式下启动。然后由故障转移时间的不完整的交易在重做日志和unmerged事务从双写缓冲区。如果CloudSQL实例很大而且有许多写它,崩溃恢复将会更长,还需要很长时间故障转移。还请记住,在这种模式下没有加载缓冲池的转储完成,所以一切都要去到磁盘。我们已经看到故障转移发生在几分钟而不是几秒。
>问:你能解释一下如何保持可用的主实例和维护窗口期间可写?
>答:不可能保证主实例的可用性。
在维护两个实例将被更新。故障转移的实例将被更新,只会更新成功后更新主但没有会发生故障转移。这意味着将会有不可用期间的主要维护CloudSQL。
谢谢你,艺术,提供更多的见解!