2025年9月25日: PostgreSQL 18 发布!

Database Lab Engine 2.4:GitHub Actions 中的真实数据库测试;Terraform 模块

发布于 2021-07-22,作者 Postgres AI
相关开源项目

关于 Database Lab Engine

Database Lab Engine (DLE) 是一个 PostgreSQL 数据库的实验平台,以开源许可证 (AGPLv3) 分发。DLE 可即时创建生产数据库的完整尺寸的精简克隆。使用这些克隆,您可以

  • 测试数据库迁移
  • 优化 SQL 查询
  • 部署完整尺寸的暂存应用程序

Database Lab Engine 可为任何大小的数据库生成精简克隆,省去了使用传统方法创建“厚”数据库副本所需数小时(甚至数天!)的时间。精简克隆是独立的、完全可写的,并且行为与生产环境完全相同:它们将拥有相同的数据并生成相同的查询计划。

详细了解 Database Lab Engine,并在 Postgres.ai 注册账户以获取自动演示。

Database Lab Engine 2.4

DLE 2.4 为对使用 PostgreSQL 精简克隆感兴趣的用户带来了两项主要功能

  • 一个新组件 DB Migration Checker,可自动在 CI/CD 管道中进行数据库迁移测试
  • 一个 Terraform 模块,用于使用“逻辑”配置模式在 AWS 中部署 DLE

此外,此版本还有许多改进和修复。您可以在 CHANGELOG 中找到所有更改的完整列表。

将数据库变更测试添加到您的 CI/CD 管道

数据库迁移——数据库模式和数据更改通常由一个在 Git 中跟踪更改的特殊工具控制。有许多此类工具:Flyway、Liquibase 和 Active Record Migrations 等等。这些工具对于保持数据库模式更改的健康、可靠和可预测至关重要。

然而,在大多数情况下,CI/CD 中的变更测试非常薄弱,因为它使用的是一个空数据库或一个非常小的模拟数据库。因此,随着数据库和工作负载的增长,数据库变更部署失败的频率越来越高。这个问题可能会让一些人感到非常烦恼,以至于他们可能会考虑切换到一些 NoSQL、无模式数据库,以摆脱这些问题(但最终会遇到其他一系列问题)。

借助 DLE 2.4 及其 DB Migration Checker 组件,可以轻松地在 CI/CD 管道中直接使用任何大小的 PostgreSQL 数据库的精简克隆进行真实的测试。这种方法可以帮助您大大降低部署有害数据库模式更改的风险,同时又不牺牲开发速度。

目前,已为 GitHub 和 GitHub Actions 实现完全集成。代码 (Go) 是开放的且可扩展的。我们计划扩展对其他 Git 和 CI/CD 平台的支持,并正在寻找有兴趣参与的人:加入我们的 Community Slack 或在 DLE Issue tracker 中打开一个 issue。

示例

关于 Database Lab Engine 2.4 的博文中 查看真实的数据库迁移测试示例。

用于在 AWS 中部署 DLE 及其组件的 Terraform 模块

Database Lab 的 Terraform 模块可帮助您在 AWS 等云环境中部署 Database Lab Engine。您可以在此处找到代码和详细的 README:https://gitlab.com/postgres-ai/database-lab-infrastructure

链接

征求反馈和贡献

非常感谢您的反馈和贡献

关于 Database Lab Engine 2.4 的博文中,您可以找到 DLE 2.4 新功能的详细概述和示例。