有关使用 Azure Database for MariaDB 确保业务连续性的概述

重要

Azure Database for MariaDB 已列入停用计划。 强烈建议迁移到 Azure Database for MySQL。 有关迁移到 Azure Database for MySQL 的详细信息,请参阅 Azure Database for MariaDB 发生了什么情况?

本文介绍了 Azure Database for MariaDB 针对业务连续性和灾难恢复所提供的功能。 了解在发生破坏性事件后用于进行恢复的选项,破坏性事件可能导致数据丢失或者数据库和应用程序无法使用。 了解当用户错误或应用程序错误影响数据完整性、Azure 区域发生服务中断或应用程序需要维护时应采取的措施。

业务连续性功能

制定业务连续性计划时,需要了解:

  • 恢复时间目标 (RTO):应用程序在发生中断事件后完全恢复所需的最大可接受时间
  • 恢复点目标 (RPO):从中断性事件恢复时,应用程序可忍受丢失的最近数据更新(时间间隔)最大数量

Azure Database for MariaDB 提供了业务连续性和灾难恢复功能,其中包括能够启动异地还原的异地冗余备份,以及将只读副本部署到另一个区域的功能。 每种功能在恢复时间和可能丢失数据方面都有不同的特性。

使用异地还原,Azure Database for MariaDB 可以使用从另一个区域复制的备份数据创建新的服务器。 还原和恢复所需的总时间取决于数据库的大小和要恢复的日志数据量。 建立服务器的总时间从几分钟到几小时不等。

使用只读副本,来自主数据库的事务日志会以异步方式流式传输到副本。 如果由于地区级或区域级故障导致主数据库中断,则故障转移到副本可提供较短的 RTO,并会减少数据丢失的情况。

注意

主数据库和副本之间的延迟取决于站点之间的延迟以及要传输的数据量,最重要的是取决于主服务器的写入工作负载。 大量写入工作负载可能会产生明显的延迟。

由于用于只读副本的复制的异步性质,不要将只读副本视为高可用性解决方案。 较高的延迟可能意味着 RTO 和 RPO 更高。 仅针对在高峰和非高峰时段延迟仍然较小的工作负载,只读副本才可以用作高可用性替代方案。 否则,只读副本将用于真正的读取扩展,以应对频繁读取的工作负载和灾难恢复场景。

下表比较了典型工作负载中的 RTO 和 RPO:

功能 基本 常规用途 内存优化
从备份执行时间点还原 保留期内的任何还原点
RTO 各不相同
RPO 小于 15 分钟
保留期内的任何还原点
RTO 各不相同
RPO 小于 15 分钟
保留期内的任何还原点
RTO 各不相同
RPO 小于 15 分钟
从异地复制的备份执行异地还原 不支持 RTO 各不相同
RPO 大于 24 小时
RTO 各不相同
RPO 大于 24 小时
只读副本 RTO 为几分钟
RPO 小于 5 分钟
RTO 为几分钟
RPO 小于 5 分钟
RTO 为几分钟
RPO 小于 5 分钟

在某些情况下,RTO 和 RPO 可能会高得多,具体取决于站点间的延迟、要传输的数据量和主数据库写入工作负载等因素

在发生用户或应用程序错误之后恢复服务器

可以使用服务的备份在发生各种破坏性事件后对服务器进行恢复。 例如,用户可能会意外删除某些数据、无意中删除重要的表,甚至删除整个数据库。 应用程序可能因为自身缺陷,意外以错误数据覆盖正确数据。

可以执行时间点还原来创建服务器在已知良好的时间点的副本。 此时间点必须在为服务器配置的备份保持期内。 将数据还原到新服务器后,可以将原始服务器替换为新还原的服务器,或者将所需的数据从还原的服务器复制到原始服务器。

重要

只能在删除后 5 天内还原已删除的服务器。 5 天后,将删除备份。 只能从托管服务器的 Azure 订阅访问和还原数据库备份。 若要还原已删除的服务器,请参阅记录的步骤。 为了帮助防止服务器资源在部署后遭意外删除或更改,管理员可以使用管理锁

在发生 Azure 区域性数据中心中断后恢复

Azure 数据中心可能会发生中断,尽管这种情况很少见。 发生中断时,其导致的业务中断可能仅持续几分钟,但也可能持续数小时。

一个选项是等待数据中心中断结束时,服务器重新联机。 数据中心发生中断时,你不知道中断可能持续多长时间。 因此,此选项仅适用于可以承受服务器脱机一段时间的应用程序(例如开发环境)。

异地还原

异地还原功能使用异地冗余备份来还原服务器。 备份托管在服务器的配对区域中。 即使你的服务器所在的区域离线,也可访问这些备份。 可以使用这些备份还原到任何其他区域,然后使服务器恢复联机。 在备份和还原概念文章中详细了解异地还原。

重要

只有当为服务器预配了异地冗余备份存储时,异地还原才可行。 如果要从现有服务器的本地冗余备份切换到异地冗余备份,必须使用 mysqldump 生成现有服务器的备份。 然后,还原到配置了异地冗余备份的新创建的服务器。

跨区域只读副本

可以使用跨区域只读副本来增强业务连续性和灾难恢复计划。 只读副本通过 MySQL 的二进制日志复制技术进行异步更新。 从有关只读副本概念的文章中详细了解有关只读副本、可用区域以及如何进行故障转移的信息。

常见问题

Azure Database for MariaDB 将客户数据存储在何处?

默认情况下,Azure Database for MariaDB 不会将客户数据移出其部署区域或存储在其部署区域之外。 但是,可以选择启用异地冗余备份或创建跨区域读取副本,以便在另一个区域存储数据。

后续步骤