Databasus vs PgBackWeb
Databasus 和 PgBackWeb 都是通过 Web 界面简化 PostgreSQL 备份管理的开源工具。虽然目标相同,都是让数据库备份更容易上手,但两者在功能、安全性、团队支持和易用性上差别很大。
快速对比
下面是 Databasus 与 PgBackWeb 主要差异的速览:
| 功能 | Databasus | PgBackWeb |
|---|---|---|
| 许可证 | Apache 2.0 | AGPL-3.0 |
| 备份管理 | ✅ 多个数据库 | ✅ 多个数据库 |
| 其他数据库支持 | ✅ PostgreSQL、MySQL、MariaDB、MongoDB | ❌ 仅 PostgreSQL |
| 存储选项 | 本地、S3、Google Drive、Cloudflare R2、Azure、NAS、Dropbox | 仅本地和 S3 兼容存储 |
| 通知 | Slack、Discord、Telegram、Teams、邮件、Webhook | 仅 Webhook |
| 安全性 | ✅ AES-256-GCM、每个备份独立密钥、强制只读 | ✅ PGP 加密 |
| 团队功能 | ✅ 工作区、基于角色的访问控制、审计日志 | ❌ 不提供 |
| 健康监控 | ✅ 内置 | ❌ 不提供 |
| 安装 | 一行脚本、Docker 或 Helm | 手动 Docker 配置 |
| 物理备份 | ✅ 支持 | ❌ 不提供 |
| 增量备份 | ✅ 块级(PG 17+) | ❌ 不提供 |
| WAL 归档 | ✅ 持续流式归档 | ❌ 不提供 |
| 按时间点恢复 | ✅ 支持 | ❌ 不提供 |
备份功能
两款工具都支持灵活的定时备份:
- Databasus:支持每小时、每天、每周、每月或 cron 计划,并可精确到具体时间(例如凌晨 4 点)。采用均衡的 zstd(级别 5)压缩,可将备份体积缩小 4-8 倍,而运行时开销只增加约 20%,效率明显高于 gzip。
- PgBackWeb:支持基于 cron 的备份计划。备份使用 gzip 压缩,比 zstd 更慢、效率更低。
除逻辑备份外,Databasus 还支持物理备份、增量备份和 WAL 备份。这些能力基于 PostgreSQL 17 的原生备份工具栈并远程运行,数据库服务器上无需安装任何东西,封闭网络可以通过 SSH 隧道访问。你因此获得块级增量备份、持续的 WAL 流式归档和按时间点恢复,可恢复到两次备份之间的任意一秒,实现数据近零丢失的灾难恢复。PgBackWeb 不提供其中任何一项。
存储选项
存储的灵活性对备份策略至关重要。两款工具的对比如下:
- Databasus:支持广泛的存储目标:
- 本地存储
- Amazon S3 及 S3 兼容服务
- Google Drive
- Cloudflare R2
- Azure Blob Storage
- NAS(网络附加存储)
- PgBackWeb:只支持本地存储和 S3 兼容存储。
安全性
安全是备份管理的核心环节。Databasus 在三个层面实现企业级安全:
Databasus 的安全模型
- 敏感数据加密:所有密码、令牌和凭据都用 AES-256-GCM 加密。加密密钥与数据库分开保存,即使数据库被攻破,敏感数据依然安全。
- 备份加密:每个备份文件用主密钥、备份 ID 和随机盐派生的唯一密钥加密。即使有人拿到了你的云存储访问权限,没有加密密钥也读不了备份。
- 只读数据库访问:Databasus 会检查角色级、数据库级和表级权限来强制只读访问。它只需要 SELECT 权限,并会在检测到写权限时发出警告。即使 Databasus 被攻破,也不会破坏数据。
PgBackWeb 的安全模型
- PGP 加密:PgBackWeb 提供对备份文件的 PGP 加密。
- 不强制只读:PgBackWeb 不强制、也不验证只读数据库访问,意味着备份可能由拥有写权限的用户创建。
通知
随时掌握备份状态是可靠运维的基础:
- Databasus:通过多种渠道实时通知:
- Slack
- Discord
- Telegram
- Microsoft Teams
- 邮件
- Webhook
- PgBackWeb:通知只支持 Webhook。想通过 Slack、Telegram 或其他平台接收告警,需要额外搭建中间层或第三方服务。
团队功能
对于组织和 DevOps 团队来说,协作功能必不可少。这正是 Databasus 明显领先 PgBackWeb 的地方:
Databasus 的团队能力
- 工作区:按项目或团队把数据库、通知渠道和存储分组管理。用户只能看到被邀请加入的工作区。
- 基于角色的访问控制:通过权限级别控制每位成员在工作区内能做什么。
- 审计日志:记录用户在系统中的所有操作和变更,是安全合规与团队责任追溯的基础。
PgBackWeb 的团队能力
PgBackWeb 没有内置用户管理、工作区或审计日志,主要面向单用户场景。
易用性
Databasus 在设计上比 PgBackWeb 好用得多,重点放在直观的交互和最短的上手时间上:
Databasus 的使用体验
- 安装简单:直接用 Docker,或运行一行脚本自动安装 Docker(如有需要)、部署 Databasus 并配置自启动。总耗时约 2 分钟。
- 直观的 Web 界面:经设计师打磨的界面,一步步引导你完成备份配置,无需 PostgreSQL 专业知识。
- 深色和浅色主题:按自己的习惯选择外观。
- 移动端适配:随时随地在任何设备上查看备份。
- 内置健康监控:可配置的健康检查,配以可视化的可用性图表。
- 一键恢复:任意备份都能一键下载和恢复。
PgBackWeb 的使用体验
- 手动 Docker 配置:需要配置环境变量,并额外准备一个外部 PostgreSQL 数据库来存放配置。
- 基础的 Web 界面:能用,但打磨程度不及 Databasus。提供深色主题。
- 没有健康监控:数据库可用性监控需要单独搭建。
安装与部署
安装 Databasus
Databasus 提供三种安装方式,其中自动脚本最快:
- 自动脚本(推荐):一行 cURL 命令安装 Docker、部署 Databasus 并配置自启动。
- Docker run:一条命令启动内置 PostgreSQL 的 Databasus。
- Docker Compose:需要更精细控制部署时使用。
安装 PgBackWeb
PgBackWeb 需要 Docker 和手动配置环境变量,还要额外搭建一个外部 PostgreSQL 数据库来存放 PgBackWeb 的配置。
许可证
许可模式会直接影响你使用和修改软件的方式:
- Databasus(Apache 2.0):宽松许可证,允许不受限制的商业使用、修改和分发。你可以在专有项目中使用 Databasus,没有任何许可顾虑。
- PgBackWeb(AGPL-3.0):Copyleft 许可证,任何衍生作品或修改也必须以 AGPL-3.0 开源。如果你修改了 PgBackWeb 并以服务形式提供,就必须公开你的修改。
结论
Databasus 和 PgBackWeb 都是称职的 PostgreSQL 备份工具,但它们满足的需求不同:
选择 Databasus,如果你需要:
- 三层防护的企业级安全
- 带工作区和审计日志的团队协作
- 多种存储目标(Google Drive、Azure 等)
- 内置的 Slack、Teams、Telegram 等通知
- 一行脚本或 Docker 的快速安装
- 直观现代、几乎无学习成本的界面
- 可商用的宽松 Apache 2.0 许可证
- 面向灾难恢复的物理备份、增量备份、WAL 归档和 PITR
选择 PgBackWeb,如果你需要:
- 面向单用户场景的简单备份方案
- 只用本地或 S3 存储
- 只有 Webhook 通知也够用
- AGPL-3.0 许可证对你的场景可以接受
对大多数用户,尤其是需要可靠安全、多种存储选项和完善通知渠道的团队和组织来说,Databasus 是推荐的选择。