当前位置: 首页 > news >正文

PlanetScale:大规模并行实现分片 Postgres 备份,高速且用途广!

备份生命周期

每 12 小时,备份系统需将繁忙数据库完整状态转化为一致加密快照,且不影响生产查询。PlanetScale 让 Postgres 和 MySQL 备份创建、调度等更轻松,内部需协调云基础设施和 DBMS 工具。分片数据库备份要启动特定节点、提取数据和重放 WAL,大规模并行操作可让 PB 级数据库数小时完成备份,速度超 50 GB/s。以 8 个分片的 Neki 数据库为例,其能处理每秒数十万次生产查询。备份第一步取决于是否为首次备份,稳定状态下假设已有成功备份存于 Amazon S3。分片 Postgres 数据库以常规 Postgres 备份为基础,Neki 采用文件系统备份与 WAL 重放结合的方式,步骤包括在时间 `T1` 开始完整备份,`T2` 完成,重放 `T1` 到 `T2` 间的 WAL 修正数据,存储结果到独立存储位置。为减少对生产查询服务的影响,为每个分片启动全新 EC2 实例管理备份,虽增加少量成本但值得。

复用旧备份

将最近备份恢复到每个分片中,以 Amazon S3 为例,数据直接流式传输。此方法需临时计算资源,接受成本的原因一是只有最近的 WAL 来自主节点,降低对生产的影响;二是证明之前备份可恢复和重放。复制完成后,8 台服务器拥有 12 小时前 8 个分片的精确状态。

重放 WAL

要让每个分片的旧备份与当前状态一致,需重放 12 小时前到现在的 WAL。直接从主节点拉取 WAL 会影响生产,且主节点可能无完整 WAL。PlanetScale 用 `wal - g` 存档 WAL,采用 S3 和主节点混合的重放方式,多数用 S3,最后几分钟从主节点流式传输,理想情况只需几秒。

完成备份周期

当节点复制赶上时间 `T` 时,停止 WAL 复制,冻结备份时间点,记录 `T` 确保知道备份时间范围。备份一致后加密并发送到新 S3 存储桶,备份节点完成使命可停用。

首次备份

新数据库创建 12 小时内,用 `pg_basebackup` 初始化备份节点,它用于物理备份数据库集群。只用于初始化临时节点,持久备份用 `wal - g` 创建以保证格式和恢复过程一致。首次备份步骤与稳定状态类似,完成后未来备份按恢复 -> 追赶进度 -> 保存流程进行。

追求速度

因分片特性,可在每个分片重复常规 Postgres 备份,大型数据库备份速度也快。每次备份数据传输步骤为从 S3 恢复旧备份、混合追赶进度、将新文件发回 S3。未分片的 32 TB 数据库备份需约 22 小时,若每天两次备份会无法达到 RPO。同样数据库在 Neki 的 8 个分片中,并行操作总时间减至约 2.8 小时,32 个分片中备份时间缩至 42 分钟,备份速度扩展性良好。

备份的用途

备份可保障数据安全,是意外删除或数据库灾难时的备用方案。在 PlanetScale,备份是日常数据库操作核心,调整 Metal 数据库大小时会用备份,步骤包括启动新 EC2 实例、下载备份副本追赶进度、初始化备用节点、切换主节点、停用小节点。节点因故障更换时也会用备份,更换过程包括初始化新实例、恢复备份追赶进度、同步数据、新节点处理查询或作为主节点。

MySQL 呢?

PlanetScale 还运营分片 MySQL 数据库,由 Vitess 作为查询路由/分片层。备份和大小调整过程与 Postgres 类似,区别在于用 `VTBackup` 而非 Postgres 内置工具,用 MySQL 二进制日志复制而非 WAL,复制追赶直接从主节点进行。

让备份变得简单

希望备份和调整数据库大小操作对用户透明,如设置调度或点击按钮般简单。深知数据库操作细节之美,希望用户通过了解备份生命周期对数据库编排有新认识,也在寻找优秀数据库工程师。

公司信息

[关于我们](/about) [品牌介绍](/brand) [博客](/blog) [更新日志](/changelog) [招聘信息](/careers) [活动信息](/events)

产品信息

[案例研究](/case - studies) [企业版](/enterprise) [定价](/pricing) [性能测试](/benchmarks)

资源信息

[文档](/docs) [迁移指南](/migrate) [支持服务](https://support.planetscale.com/hc/en - us) [状态信息](https://planetscalestatus.com) [信任中心](https://trust.planetscale.com)

课程信息

[面向开发者的 MySQL](/learn/courses/mysql - for - developers) [数据库扩展](/learn/courses/database - scaling) [学习 Vitess](/learn/courses/vitess)

开源项目

[Vitess](/vitess) [Vitess 社区](https://vitess.io/slack) [GitHub](https://github.com/planetscale)

[隐私政策](/legal/privacy) | [使用条款](/legal/siteterms) | [Cookie 政策](/legal/cookies) | [专利信息](/legal/patents) | [不共享我的个人信息](/legal/privacy#privacy - rights - and - choices)

© 2026 PlanetScale, Inc. 保留所有权利。[GitHub](https://github.com/planetscale) | [X](https://twitter.com/planetscale) | [领英](https://www.linkedin.com/company/planetscale) | [YouTube](https://www.youtube.com/planetscale) | [Discord](https://pscale.link/community) | [Facebook](https://www.facebook.com/planetscaledata)

http://www.jsqmd.com/news/1327202/

相关文章:

  • KET口语模考3次才明白:孩子丢分不是因为不会说,而是因为这个
  • 2026工业冷水机、低温冷水机、螺杆式冷水机、风冷式冷水机怎么选?核心维度拆解测评 - 深度智识库
  • 2026年国内四通球阀 适配复杂工况高评价品牌** - 滚动商讯
  • 在昆明处置闲置黄金,怎样筛选具备资质的正规回收商家 - 奢侈品回收评测
  • ECDICT开源英汉词典数据库:76万词条技术架构与开发工具深度解析
  • 当业务人员不再需要提数需求单:自然语言分析正在重新定义数据消费
  • 2026 上海园林绿植租赁,绿植租赁价格,办公室绿植租赁如何挑选服务商 - LYL仔仔
  • 抖店一键上货和手动上货哪个更好?抖掌柜效率与店铺权重详细对比 - 电商分享
  • 免费解锁WeMod高级功能:开源增强工具Wand-Enhancer完整指南
  • 高中毕业档案不用封口吗?应届生一定要看清政审要求 - 资讯报道
  • 自去年底部分亚马逊消费者查看评论受限,平台误标其为机器人却未说明详情
  • SubtitleEdit:免费开源字幕编辑神器,5分钟上手专业级字幕制作
  • PG 日报|修复 GiST 索引漏行缺陷,强化多范围检索准确性
  • Unity与Figma高效协同:构建自动化UI资产同步完整解决方案
  • DDrawCompat:让经典DirectX游戏在现代Windows系统上重生
  • 2026年软文发稿平台实测推荐 首推媒介星 AI**发稿指南 - 资讯报道
  • AI编程助手Pi Agent:从任务分解到工程化协作的智能开发伙伴
  • QClaw:AI驱动的自动化工作流,让大模型操控你的电脑
  • 武汉襄五学校 2027 届高三全日制文化课复读招生简章 - 湖北升学规划
  • 企业级可变字体系统:Inter在屏幕显示时代的高性能排版解决方案
  • 武汉光谷科技职业技术学校 2026 年招生指南解析 - 升学择校早知道
  • 2026灯饰固定无影胶源头厂家**|胶粘剂国产化进程观察​ - 可特新
  • 短剧出海翻译第一次做实测:5个高频坑逐一拆解
  • 联想刃7000K完整BIOS权限解锁指南:3步获得硬件完全掌控
  • 选机构看设备资质服务链
  • 16通道DMA控制器实战指南:从原理到配置,彻底解放CPU
  • MATLAB实现支持向量机回归(SVR)与k折交叉验证实战
  • TokenByte实战测评:一家SaaS企业的真实使用体验与效率革命
  • 基于混元大模型的员工心理关怀智能分析系统实践
  • DDrawCompat终极指南:让Windows经典游戏在现代系统完美运行