Google发布了一个新的开源工具,用于验证PostgreSQL(Postgres)数据库备份。使用PostgresSQL的企业可以使用该工具来验证备份数据库时是否发生任何数据损坏或数据丢失。Google已经为面向Postgres的Google Cloud SQL客户使用了该工具。从本周开始,它现在也可以作为开源代码使用。
Google云部门的产品经理Brett Hesterberg和该公司的高级软件工程师Alexis Guajardo将这一新功能描述为一种命令行工具,管理员可以对Postgres数据库执行该功能。
Hesterberg和Guajardo 在7月11日的博客中写道: “自PostgreSQL 9.3版起,就可以在数据页上启用校验和以避免忽略数据损坏,但是,随着该实用程序的发布,您现在可以验证所有数据文件,在线还是离线”,他们说。
在数据库上下文中,校验和是指少量数据,管理员使用这些数据来确定在备份或传输数据时是否发生了任何错误或数据损坏。两位Google工程师说,尽管在将更改部署到数据库时这种错误相当普遍,但许多组织并未验证数据库备份。他们说,因此,数据丢失通常是组织进行数据库更改和备份时遇到的最大风险之一。
Google在内部开发了Postgres页面验证工具,因此它可以缓解Postgres数据库备份引起的任何问题。目标是最大程度地减少变更周期早期因损坏和丢失而造成的数据丢失。
Hesterberg和Guajardo指出,通过将该工具发布给开源社区,其他使用Postgres的组织可以防止备份期间的数据丢失和损坏。使用该工具来验证数据库备份的组织将获得更大的保证,即在发生灾难时其备份不会出错。
Google 在文档中将页面验证工具描述为可帮助管理员验证PostgreSQL数据页面上的校验和,而不必将每个页面加载到共享缓存中。为了使用它,管理员在初始化新的Postgres数据库集群时必须启用校验和。
启用后,该工具会计算自己的校验和,然后将其与Postgres校验和进行比较,以确保它们相同。在两个校验和不相同的情况下,该工具会识别出存在错误的数据库页面。
Postgres页面验证工具可以针对数据库连续运行,但是这样做会影响性能。因此,Google建议将该工具整合到备份过程中,并在单独的服务器上运行,Guajardo和Hesterberg表示。
页面验证工具可以针对在线或离线数据库运行,并且已完全集成到Google的云托管数据库服务Cloud SQL中。有兴趣使用该工具的组织可以从Google的开源或GitHub数据存储库下载该工具。