Database Lab Engine 2.4: realistic DB testing in GitHub Actions; Terraform moduleAbout Database Lab EngineThe Database Lab Engine (DLE) is an experimentation platform for PostgreSQL databases, distributed under an open-source license (AGPLv3). The DLE instantly creates full-size thin clones of your production database. With these clones, you can: - test database migrations
- optimize SQL queries
- deploy full-size staging applications
The Database Lab Engine can generate thin clones for any size database, eliminating the hours (or days!) required to create “thick” database copies using conventional methods. Thin clones are independent, fully writable, and will behave identically to production: they will have the same data and generate the same query plans. Learn more about the Database Lab Engine and sign up for an account for an automated demo at Postgres.ai. Database Lab Engine 2.4DLE 2.4 brings two major capabilities to those who are interested in working with PostgreSQL thin clones: - a new component, DB Migration Checker, that automates DB migration testing in CI/CD pipelines
- a Terraform module to deploy DLE in AWS using the "logical" provisioning mode
Additionally, this release has a lot of improvements and fixes. You can find the full list of changes in CHANGELOG. Add DB change testing to your CI/CD pipelinesDB migrations – database schema and data changes usually controlled by a special tool that tracks the changes in Git. There are many such tools: Flyway, Liquibase, and Active Record Migrations, to name a few. These tools are necessary for keeping DB schema changes sane, reliable, and predictable. However, in most cases, testing of the changes in CI/CD is very weak because it is done using either an empty or some tiny, mocked database. As a result, with growing databases and workloads, deployments of DB changes fail more often. This problem may be so annoying for some people that they might even think about switching to some NoSQL, schemaless databases, to forget about such issues (but to meet, eventually, a bunch of others). With DLE 2.4 and its DB Migration Checker component, it becomes easy to get realistic testing using thin clones of PostgreSQL databases of any size right in CI/CD pipelines. This approach helps you drastically decrease the risk of deploying harmful DB schema changes, while not sacrificing development speed. Currently, full integration is implemented for GitHub and GitHub Actions. The code (Go) is open and extendable. We are planning to extend support to other Git and CI/CD platforms and looking for those who are interested in being involved: join our Community Slack or open an issue in the DLE Issue tracker. ExamplesSee examples of realistic DB migration testing in the blog post about Database Lab Engine 2.4. Terraform module to deploy DLE and its components in AWSTerraform module for Database Lab helps you deploy the Database Lab Engine within cloud environments such as AWS. You can find the code and detailed README here: https://gitlab.com/postgres-ai/database-lab-infrastructure. LinksRequest for feedback and contributionsFeedback and contributions would be greatly appreciated: Detailed overview of DLE 2.4's new features with examples you can find in the blog post about Database Lab Engine 2.4. |