跳到主要内容
版本:26.x

可靠性

可靠性是业务在故障发生后继续提供服务、保护数据,并在约定时间内恢复的能力。在 SelectDB Cloud 中,平台与用户共同承担可靠性责任:平台提供托管基础设施以及高可用、备份和恢复机制;你需要配置仓库与集群、备份计划、应用连接和恢复流程。

为生产业务设计可靠性方案时,建议按以下顺序进行:

  1. 明确业务影响。 确定关键查询和写入、可接受的中断时间,以及能够重新生成的数据量,据此制定恢复时间目标 (Recovery Time Objective, RTO) 和恢复点目标 (Recovery Point Objective, RPO)。
  2. 区分故障范围。 集群故障、可用区故障、错误写入和整个地域不可用需要不同的保护措施。同地域备份不能作为地域级故障的唯一保护。
  3. 消除单点。 如果业务不能等待人工重建集群,可在符合条件的多可用区仓库中,将不同可用区的两个物理集群组成主备虚拟集群。
  4. 让恢复流程可重复执行。 记录故障确认人、应用连接切换方式、目标仓库、待恢复数据及验证方法。通过演练测量恢复时间。
  5. 持续监控与改进。 关注仓库和集群状态、查询失败、备份与导出任务状态,以及最新可用恢复点距当前的时间,根据故障和演练结果调整方案。

RPO 与 RTO​

RPO 表示业务可接受的最大数据丢失时间范围。例如,RPO 为 1 小时,意味着业务最多可以接受丢失最近 1 小时的写入。对于备份,实际恢复点取决于最近一次成功完成的备份,而非计划开始执行的时间。

RTO 表示从故障发生到恢复服务的最长可接受时间。它包括故障发现、资源准备、数据恢复或导入、结果验证和应用流量切换。导入和恢复耗时通常随数据量增加而增长。

选择保护措施​

不同措施覆盖不同的故障范围,需要组合使用。

故障范围保护措施恢复方式与取舍
同一地域内的集群或可用区故障高可用单集群需要人工准备替代集群;主备虚拟集群可在检测到故障后自动切换。切换期间的请求仍可能失败,应用需要重连和重试。
误删、错误写入或高风险操作失败回收站或备份与恢复回收站可恢复尚未清理的已删除对象;备份提供保留的恢复点。备份的 RPO 取决于最近成功备份,恢复时间取决于数据量、备份方式和计算资源。
整个地域不可用灾难恢复将可恢复的数据副本保存在其他地域,故障后准备目标仓库、导入数据并切换应用。也可采用应用双写,但需承担额外成本和一致性处理。

高可用​

多可用区部署面向同一地域内的故障。创建仓库时,应确认所选地域及部署方式支持多可用区,并为冗余计算资源选择不同可用区。

  • 如果可以接受人工恢复,使用单个计算集群,在故障后新建替代集群,并预留启动和缓存预热时间。
  • 如果需要自动故障转移,使用不同可用区中的两个物理集群组成主备虚拟集群。平台会同步缓存数据,但检测故障和切换仍需要时间。

回收站​

对于仍在回收站中的数据库、表或分区,可以使用 RECOVER 尝试恢复。回收站条目可能因过期或资源回收而被清理,不应作为必须保留的恢复点。需要确定的恢复点时,应配置备份。

备份​

备份可按周期执行,也可在高风险操作前执行一次。你可以从仍保留的成功备份中恢复数据。根据恢复粒度、耗时和功能开通情况,选择导出备份或轻量级快照备份,详见备份与恢复。

灾难恢复​

多可用区部署和同地域备份无法替代跨地域副本。可以定期将业务数据导出到其他地域的对象存储,在故障后导入恢复仓库。若导入耗时无法满足 RTO,可由应用向两个地域的仓库写入数据,并为部分写入失败、重试、去重和数据核对制定规则。

上线与变更前的准备​

检查项需要确认的内容
业务范围已记录关键查询、写入链路、外部依赖和恢复负责人。
容量备用集群或恢复仓库能够承接关键负载,目标地域支持所需能力。
数据保护备份和跨地域导出已成功完成,最新可用恢复点满足 RPO。
连接应用能够连接目标仓库,已验证重连、重试和连接切换。
监控使用监控指标和告警中心关注资源健康、失败任务及查询异常。
演练已测量故障发现、资源准备、缓存预热、数据恢复和流量切换时间。

定期使用接近生产规模的数据演练。业务数据量、网络、权限、集群规格或应用连接方式发生变化后,应更新恢复手册并重新验证。

相关文档​

  • 高可用:设计同地域内的多可用区保护。
  • 备份与恢复:选择备份方式并制定恢复策略。
  • 灾难恢复:准备跨地域数据副本和业务切换流程。