The 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:
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.
DLE 2.4 brings two major capabilities to those who are interested in working with PostgreSQL thin clones:
Additionally, this release has a lot of improvements and fixes. You can find the full list of changes in CHANGELOG.
DB 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.
See examples of realistic DB migration testing in the blog post about Database Lab Engine 2.4.
Terraform 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.
Feedback 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.