数据库实验室引擎 2.4:GitHub Actions 中的真实数据库测试;Terraform 模块

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

关于数据库实验室引擎

数据库实验室引擎 (DLE) 是一个用于 PostgreSQL 数据库的实验平台,以开源许可证 (AGPLv3) 分发。DLE 可以立即创建您生产数据库的完整大小的瘦克隆。使用这些克隆,您可以

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

数据库实验室引擎可以为任何大小的数据库生成瘦克隆,从而消除使用传统方法创建“厚”数据库副本所需的小时(或天!)时间。瘦克隆是独立的、完全可写的,并且行为与生产环境相同:它们将具有相同的数据并生成相同的查询计划。

了解有关数据库实验室引擎的更多信息,并在 Postgres.ai 注册一个帐户以获取自动演示。

数据库实验室引擎 2.4

DLE 2.4 为那些有兴趣使用 PostgreSQL 瘦克隆的人带来了两个主要功能

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

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

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

数据库迁移 – 数据库模式和数据更改通常由一个特殊工具控制,该工具跟踪 Git 中的更改。有很多这样的工具:Flyway、Liquibase 和 Active Record Migrations 等。这些工具对于保持数据库模式更改的健全性、可靠性和可预测性是必要的。

但是,在大多数情况下,CI/CD 中更改的测试非常薄弱,因为它要么使用空数据库,要么使用一些很小的、模拟的数据库。因此,随着数据库和工作负载的增长,数据库更改的部署失败的次数会更多。对于某些人来说,这个问题可能会非常令人恼火,他们甚至可能会考虑切换到一些 NoSQL、无模式数据库,以忘记这些问题(但最终会遇到其他一堆问题)。

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

目前,已为 GitHub 和 GitHub Actions 实现了完全集成。代码(Go)是开放且可扩展的。我们计划将支持扩展到其他 Git 和 CI/CD 平台,并寻找有兴趣参与的人:加入我们的 社区 Slack 或在 DLE 问题跟踪器 中打开一个问题。

示例

请参阅 关于数据库实验室引擎 2.4 的博客文章 中有关真实数据库迁移测试的示例。

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

用于数据库实验室的 Terraform 模块可帮助您在 AWS 等云环境中部署数据库实验室引擎。您可以在此处找到代码和详细的 README:https://gitlab.com/postgres-ai/database-lab-infrastructure

链接

征求反馈和贡献

非常感谢反馈和贡献

有关 DLE 2.4 新功能的详细概述以及示例,您可以在 关于数据库实验室引擎 2.4 的博客文章 中找到。