用Rust重写WAL-G实现Postgres备份:认识一下WAL-RUS
我们基于Rust语言重写了WAL-G,推出了全新的Postgres备份工具WAL-RUS。该工具在保持与WAL-G兼容的同时,利用Rust的内存安全特性和高性能优势,显著提升了Postgres数据库备份与恢复的效率和可靠性。
背景速读
- WAL-G 是一个广泛使用的 PostgreSQL 备份与恢复工具,原版用 Go 语言编写,支持 WAL(预写日志)归档和增量恢复。
- WAL-RUS 是其 Rust 重写版本,由 ClickHouse 公司背后的团队(以及原 WAL-G 的核心维护者)开发,目标是在不损失功能的前提下提升性能、安全性和可维护性。
- ClickHouse 本身是开源列式分析型数据库,对备份/恢复的稳定性和效率有极高要求;这次重写也反映了 Rust 在基础设施工具中逐步替代 Go 的趋势(更低的内存安全风险、更好的并发控制)。
- 对于 PostgreSQL 用户来说,WAL-RUS 提供了与 WAL-G 相同的备份策略(如"push/fetch"和"restore"命令),但获得了更快的恢复速度和更少的内存开销,同时保持了对 S3、GCS 等存储后端的兼容。