Databasus vs pgBackRest
Databasus 和 pgBackRest 都以最小化 RTO 和 RPO 的灾难恢复为目标,都支持物理备份、WAL 归档和按时间点恢复(PITR)。Databasus 基于 PostgreSQL 17 的原生工具栈远程执行这些备份,复用 PostgreSQL 自带的、久经考验的工具而不是重新造轮子,这一切都在直观的 Web 界面里管理。它适用于任何规模和复杂度的数据库。物理备份要求 PostgreSQL 17 及以上版本;在更早的版本上只能使用逻辑 pg_dump 备份。pgBackRest 自带备份引擎,因此也能在旧得多的 PostgreSQL 版本上做物理和增量备份,还提供差异备份、delta 恢复等高级功能。
快速对比
下面是 Databasus 与 pgBackRest 主要差异的速览:
| 功能 | Databasus | pgBackRest |
|---|---|---|
| 目标用户 | 个人、团队、DBA、企业 | DBA、命令行和 IaC 工作流 |
| 备份管理 | ✅ 多个数据库 | ❌ 仅单个数据库 |
| 其他数据库支持 | ✅ PostgreSQL、MySQL、MariaDB、MongoDB | ❌ 仅 PostgreSQL |
| 界面 | Web 界面 | 命令行、配置文件 |
| 备份类型 | 逻辑 + 物理 | 物理(文件级) |
| 物理备份所需 PostgreSQL 版本 | 17+(原生) | 9.4+(自带引擎) |
| 恢复选项 | ✅ PITR | ✅ PITR |
| 并行操作 | ✅ 支持 | ✅ 支持 |
| 增量备份 | ✅ 块级(PG 17+) | 块级增量 |
| 差异备份 | ❌ 不支持 | ✅ 支持 |
| Delta 恢复 | ❌ 不支持 | ✅ 支持(只恢复变化的文件) |
| 远程备份 | ✅ 支持 | ❌ 不支持(需要文件系统访问) |
| 团队功能 | ✅ 工作区、RBAC、审计日志 | ❌ 单用户 |
| 学习曲线 | 很低 | 要求 DBA 专业知识 |
| 安装 | 一行脚本或 Docker | 需要手动配置 |
| 适合自托管数据库 | ✅ 适合 | ✅ 适合 |
| 适合云数据库 | ✅ 适合(RDS、Cloud SQL、Azure) | ❌ 不适合(需要文件系统访问) |
目标用户
两款工具最重要的差异在于它们为谁而设计:
Databasus 的用户
Databasus 面向广泛的用户群体,从个人开发者到大型企业:
- 个人开发者:安装简单、界面直观,无需深入了解 PostgreSQL 也能保护个人项目。
- 开发团队:工作区、基于角色的访问控制和审计日志让团队成员安全协作。
- 企业:完善的安全机制、多种存储目标和通知渠道,可满足企业级需求。
- DBA 和灾难恢复:物理备份、WAL 归档和 PITR,为要求数据近零丢失的关键系统服务。
pgBackRest 的用户
pgBackRest 是命令行工具,面向想自己运维备份引擎的团队:
- 命令行和 IaC 工作流:偏好通过文件和脚本而不是 Web 界面配置备份的团队。
- 较老的 PostgreSQL 版本:pgBackRest 自带引擎,能在 PostgreSQL 17 以下的版本上做物理和增量备份。
- 大规模场景的高级功能:当差异备份、delta 恢复和创建备用节点值得付出额外配置成本时。
备份方式
两款工具采用截然不同的备份策略,各有优势:
Databasus:逻辑 + 物理备份
Databasus 同时支持逻辑和物理两种备份策略:
- 物理备份、增量备份和 WAL 备份:通过 PostgreSQL 复制协议远程执行,基于 PostgreSQL 17 的原生工具栈:
pg_basebackup、由服务端 WAL 摘要驱动的块级pg_basebackup --incremental、pg_receivewal和pg_combinebackup。Databasus 复用 PostgreSQL 自带的、久经考验的工具,而不是重新造轮子。要求 PostgreSQL 17 及以上版本。 - 逻辑备份:使用
pg_dump生成可移植的备份,能恢复到不同的 PostgreSQL 版本,还可以选择性恢复指定的表或 schema。这也是 PostgreSQL 17 以下版本唯一可用的备份类型,以及 MySQL、MariaDB 和 MongoDB 的备份途径。 - 数据库上无需安装任何东西:备份通过远程连接完成;封闭网络可以通过 SSH 隧道连接到内部主机或跳板机,数据库无需暴露到公网。
- 高效压缩:两种备份类型都使用 zstd(级别 5),可将体积缩小 4-8 倍。
- 只读访问:逻辑备份只需要 SELECT 权限,最大限度降低安全风险。
pgBackRest:物理备份
pgBackRest 对 PostgreSQL 数据目录执行文件级(物理)备份:
- 块级增量:只备份发生变化的数据块,缩短超大数据库的备份时间、减少存储占用。
- WAL 归档:持续归档预写日志(WAL),实现精确的按时间点恢复。
- 全量、差异、增量:多种备份策略,应对不同的恢复场景。
- 为大规模而优化:专为逻辑备份耗时过长的数据库设计。
恢复选项
两款工具都提供灵活的恢复选项,但粒度不同:
Databasus 的恢复
- 按时间点恢复:通过 WAL 回放恢复到任意指定的一秒。
- 整集群恢复:从物理备份将整个数据库集群恢复到指定时间点。
- 逻辑恢复:从定时逻辑备份恢复到任意一个备份点。
- 一键恢复:直接在 Web 界面下载并恢复逻辑备份。
- 跨版本兼容:逻辑备份可以恢复到不同的 PostgreSQL 版本。
pgBackRest 的恢复
- 按时间点恢复(PITR):通过 WAL 回放恢复到任意指定的一秒。
- 整集群恢复:从物理备份将整个数据库集群恢复到指定时间点。
- 并行恢复:多线程恢复,加快大型数据库的恢复速度。
- Delta 恢复:只恢复变化的文件,缩短恢复时间。
- 创建备用节点:从备份创建 PostgreSQL 副本。
注意: 两款工具都支持 PITR。pgBackRest 额外提供 delta 恢复(只获取变化的文件)、差异备份,以及从备份创建备用节点。 了解 Databasus 如何支持 PITR →
易用性
两款工具在用户体验上的取向差别极大:
Databasus 的使用体验
- Web 界面:所有备份设置都可以点选配置,不需要命令行。
- 2 分钟安装:一行 cURL 脚本或一条简单的 Docker 命令,立即上手。
- 可视化监控:仪表盘一目了然地展示备份状态、健康检查和历史记录。
- 内置通知:直接在界面里配置 Slack、Teams、Telegram、邮件或 webhook 告警。
- 无需 PostgreSQL 专业知识:为想获得可靠备份、又不想成为数据库专家的开发者而设计。
pgBackRest 的使用体验
- 命令行界面:所有操作都通过终端命令完成。
- 配置文件:需要手动编辑 INI 风格的配置文件。
- WAL 归档配置:必须配置 PostgreSQL 的
archive_command及相关设置。 - 学习曲线陡峭:需要理解 PostgreSQL 内部机制、WAL 原理和各种备份策略。
- 要求 DBA 专业知识:文档默认读者熟悉数据库管理概念。
团队功能
对于由多名成员共同管理备份的组织:
Databasus 的团队能力
- 工作区:按项目或团队组织数据库、通知渠道和存储。用户只能看到被邀请加入的工作区。
- 基于角色的访问控制:分配查看者、编辑者或管理员权限,控制每位成员能做什么。
- 审计日志:记录系统中的所有操作和变更,是安全合规与责任追溯的基础。
- 共享通知:团队频道自动收到备份状态更新。
pgBackRest 的团队能力
pgBackRest 是命令行工具,没有内置团队功能:
- 没有用户管理或访问控制
- 没有操作审计日志
- 团队协作需要借助外部工具和流程
- 访问通过配置文件的操作系统级权限控制
安全性
两款工具都提供扎实的安全功能:
Databasus 的安全性
- AES-256-GCM 加密:所有密码、令牌和凭据都加密存储,加密密钥与数据库分开保存。
- 每个备份独立加密:每个备份文件用主密钥、备份 ID 和随机盐派生的唯一密钥加密。
- 只读数据库访问:只需 SELECT 权限,即使被攻破也不会破坏数据。
pgBackRest 的安全性
- 仓库加密:备份仓库可以使用 AES-256 加密。
- TLS/SSH 传输:远程操作通过安全通道通信。
- 校验和验证:在创建和恢复时验证备份完整性。
存储选项
两款工具都支持多种存储目标,Databasus 提供了更多面向普通用户的选项:
Databasus 的存储
- 本地存储
- Amazon S3 及 S3 兼容服务
- Google Drive
- Cloudflare R2
- Azure Blob Storage
- NAS(网络附加存储)
- Dropbox
pgBackRest 的存储
- 本地存储(POSIX、CIFS)
- Amazon S3 及 S3 兼容服务
- Cloudflare R2(S3 兼容)
- Azure Blob Storage
- NAS(网络附加存储)
- Google Cloud Storage
- SFTP
通知
随时掌握备份状态:
Databasus 的通知
内置多种通知渠道:
- Slack
- Discord
- Telegram
- Microsoft Teams
- 邮件
- Webhook
pgBackRest 的通知
pgBackRest 没有内置通知支持,实现通知需要:
- 围绕备份命令自写脚本
- 集成外部监控工具
- 手动解析日志并配置告警
结论
在 PostgreSQL 备份生态中,Databasus 和 pgBackRest 满足的是不同的需求。如何选择取决于你的数据库规模、团队结构和技术要求。
选择 Databasus,如果:
- 你是个人开发者、团队或企业,想要一个直观的备份方案
- 相比命令行工具,你更喜欢 Web 界面
- 你需要团队协作功能(工作区、RBAC、审计日志)
- 你想要内置的 Slack、Teams、Telegram 等通知
- 你想在一个带调度、通知和团队功能的仪表盘里管理多个数据库的备份
- 你想快速上手,不需要太多 PostgreSQL 知识
- 你使用云托管数据库(AWS RDS、Google Cloud SQL、Azure)或自托管 PostgreSQL
选择 pgBackRest,如果:
- 你需要在 PostgreSQL 17 以下版本上做物理或增量备份(pgBackRest 自带备份引擎)
- 你需要差异备份或 delta 恢复(只处理变化的文件)
- 你需要从备份创建备用节点来实现高可用
- 你偏好命令行工具和基础设施即代码的工作流
- 你的团队有运维和调优它所需的 PostgreSQL 专业知识
两款工具都支持物理备份、WAL 归档和 PITR,都以最小化 RTO 和 RPO 的灾难恢复为目标。Databasus 适用于任何规模和复杂度的数据库,并提供 Web 界面、团队功能,以及覆盖自托管和云托管数据库的逻辑与物理备份。
当你想自己运维备份引擎、需要在 PostgreSQL 17 以下版本上做物理备份,或者依赖它的差异备份和 delta 恢复时,pgBackRest 更合适。