Database Lab Engine 2.4:在 GitHub Actions 中進行真實的資料庫測試;Terraform 模組

由 Postgres.AI 於 2021-07-22 發布
相關開放原始碼

關於 Database Lab Engine

Database Lab Engine (DLE) 是一個 PostgreSQL 資料庫的實驗平台,以開放原始碼授權 (AGPLv3) 發布。DLE 立即建立您生產資料庫的完整大小的精簡副本。透過這些副本,您可以

  • 測試資料庫遷移
  • 最佳化 SQL 查詢
  • 部署完整大小的預演應用程式

Database Lab Engine 可以為任何大小的資料庫產生精簡副本,從而消除使用傳統方法建立「厚」資料庫副本所需的數小時(或數天!)的時間。精簡副本是獨立的、完全可寫的,並且行為與生產環境完全相同:它們將具有相同的資料並產生相同的查詢計畫。

Postgres.ai 瞭解更多關於 Database Lab Engine 的資訊,並註冊帳戶以獲得自動化演示。

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 平台,並尋找有興趣參與的人:加入我們的 社群 Slack 或在 DLE Issue tracker 中開啟一個問題。

範例

請參閱 關於 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 新功能的詳細概述和範例。