database-lab-engine  by postgres-ai

Database branching/cloning tool for Postgres

Created 5 years ago
2,204 stars

Top 20.6% on SourcePulse

GitHubView on GitHub
Project Summary

Database Lab Engine (DBLab) provides rapid PostgreSQL database cloning and branching for development, testing, and analysis, targeting engineers and teams seeking to improve software quality and reduce database costs. It enables the creation of production-like database environments in seconds, facilitating efficient CI/CD integration and rapid validation of database changes.

How It Works

DBLab leverages Copy-on-Write (CoW) technology, primarily using ZFS (default) or LVM, to create near-instantaneous, space-efficient clones of PostgreSQL databases. This approach allows for the management of numerous, full-scale database clones from a single source, consuming minimal additional storage until data is modified. DBLab supports both physical and logical data provisioning and offers features like Point-in-Time Recovery (PITR) and automated clone management.

Quick Start & Requirements

  • Installation: Available as a Community Edition (install via tutorial) or Standard Edition (via Postgres.ai Console, starting at $62/month).
  • Prerequisites: PostgreSQL 9.6–17. For managed services like AWS RDS, DBLab runs on a separate VM in the same region. ZFS or LVM is required for the default thin cloning mechanism.
  • Resources: Cloning a 1 TiB PostgreSQL database takes approximately 10 seconds.
  • Links: Postgres.ai Console, Demo, Documentation, Community Slack

Highlighted Details

  • Clones databases in seconds, regardless of size (e.g., 1 TiB in ~10s).
  • Supports dozens of simultaneous clones on a single machine.
  • Compatible with self-managed PostgreSQL and major cloud providers (AWS RDS, GCP CloudSQL, Azure).
  • Offers UI, API, and CLI for automation and management.

Maintenance & Community

DBLab is actively developed by Postgres.ai. The project encourages community contributions and provides channels for support via Slack.

Licensing & Compatibility

DBLab source code is licensed under Apache 2.0. A trial or commercial license is available for use cases that may have restrictions with GPL clauses.

Limitations & Caveats

For managed PostgreSQL services without direct PGDATA access, DBLab functions as a database-as-a-service, requiring a separate VM setup. The README does not detail specific hardware requirements beyond the need for ZFS/LVM support for optimal performance.

Health Check
Last Commit

6 days ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
2
Star History
11 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.