高可用性
Databases for EnterpriseDB 已弃用。 从 2025 年 6 月 16 日起,您将无法部署新的实例。 现有实例的支持服务将持续到2025年10月15日。 届时仍存在的任何实例将被删除。 更多信息,请参阅 Databases for EnterpriseDB 的弃用。
IBM Cloud® Databases for EnterpriseDB 是完全集成到 IBM Cloud 环境中的托管云数据库服务。 数据库、存储和支持基础设施都在 IBM Cloud 中运行。
Databases for EnterpriseDB提供复制、故障转移和高可用性功能,保护您的数据库和数据免受基础架构维护、升级和故障的影响。 部署通常包含一个群集,其中有三个数据成员:一个领导者和两个副本。 通过异步复制,复制成员包含来自领导者的数据副本,并采用分布式共识机制来维护群集状态和处理故障切换。 如果领导者无法访问,群集会启动故障切换,选择一个副本并将其提升为领导者。 副本重新加入群集,群集继续正常运行,但容量会降低。
Databases for EnterpriseDB有三个成员,可提供更多的分区中断保护,并提高同步事务的安全性。
Databases for EnterpriseDB 有时会在正常运行时进行受控切换。 这些切换是无数据丢失事件,会导致活动连接的重置。 重新连接失败的时间最长可达 15 秒。 有时,由于运行环境中的意外事件,可能会发生计划外的故障切换。 这最多需要 45 秒,但也可能更短。 在这两种情况下,停机时间都有可能更长。
您可以通过添加 只读副本,将高可用性扩展到更多区域,并扩散到更多副本。
同步复制
默认情况下,流式复制是异步的。 如果主服务器崩溃,那么一些已提交的事务可能不会复制到备用服务器,从而导致数据丢失。Cloud Databases可确保将数据丢失控制在最低限度,避免大量数据丢失;不过,同步复制可确认事务的所有更改都已传输到同步成员,从而确保整个群集的一致性。 这种一致性来自于确认在成功返回连接客户端之前,写入内容已被写入辅助客户端。 有关同步复制的变量,请参阅更改配置页面上的 synchronous_commit
。
同步复制将复制的可用性引入主写入路径。 如果没有副本确认写入,写入将被挂起,直到有副本可用。 这需要至少三个成员才能可靠运行,因为双成员部署不支持同步复制。 必须 水平扩展到至少三个成员后,才能启用同步复制。
虽然可能性不大,但有可能出现多个副本同时不可用的情况。 如果发生这种情况,主数据库将无法完成任何写入操作,直到副本重新联机,从而有效地阻止数据库的所有写入流量。 在决定使用同步复制时,应权衡提高数据耐用性与潜在可用性问题的相对成本和效益。
采用同步复制会对数据库性能产生负面影响。 通常情况下,使用这一功能的有效方法是只在必须具有最高数据耐用性的特定数据库或用户中使用。
应用级高可用性
通过网络和云服务进行通信的应用程序会受到瞬时连接故障的影响。 您要设计应用程序,以便在与部署或 IBM Cloud 的连接暂时中断而导致错误时重试连接。
由于 Databases for EnterpriseDB 是托管服务,因此定期更新和数据库维护是正常运行的一部分。 这偶尔会导致数据库在短时间内不可用。 它还会导致数据库触发优雅的故障切换、重试和重新连接。 数据库需要很短的时间来确定哪个成员是副本,哪个是领导者,因此也可能会出现短暂的连接中断。 故障切换一般不超过 30 秒。
您的应用程序必须能够处理数据库的临时中断,对失败的数据库命令执行错误处理,并执行重试逻辑以从临时中断中恢复。
预计不会出现几分钟的数据库不可用或连接中断情况。 如果您有超过一分钟的时间没有连接,请打开 支持单 并提供详细信息,以便我们进行调查。
连接限制
Databases for EnterpriseDB 将数据库的最大连接数设置为 115。其中 15 个连接保留给超级用户,用于维护数据库的状态和完整性,100 个连接供您和您的应用程序使用。 达到连接上限后,任何启动新连接的尝试都会导致错误。 为防止连接数过多,可使用连接池,或扩大部署规模并增加连接数限制。 有关详细信息,请参阅 Managing Databases for EnterpriseDB Connections 页。
高可用性、灾难恢复和服务水平协议资源
Databases for EnterpriseDB 部署符合 IBM Cloud 数据库 HA、DR 和 SLA 信息和术语。