Database Lab 0.1 (initial release)

Features

  • Superfast cloning of large databases.
  • REST API.
  • Client SDK.
  • Client CLI tool.
  • Auto-deletion of clones after some period of inactivity (by default, 2 hours).
  • Protection from deletion: a clone can be marked as "protected", which means that it cannot be deleted, neither manually nor automatically.
  • Postgres versions 9.6, 10, 11, 12 are supported.
  • Postgres clones are running in Docker containers. Custom Docker images are supported, to allow additional extensions, libraries, custom Postgres builds.
  • Custom postgresql.conf addition and pg_hba.conf replacement to control settings of Postgres clones.
  • For security, all Postgres users are disabled, and a new one is created (configure at clone request time).

Known issues and future work

  1. Currently, to install Database Lab, a lot of software needs to be installed: Docker, Go, ZFS, Postgres, more. See Tutorial. Tested on Ubuntu 18.04. In the upcoming Database Lab versions, we will move everything to containers, which means that only Docker will be a requirement, and any modern Linux will be supported.
  2. If a Database Lab instance is restarted, all the clones get deleted. We plan to implement persistent clones in the future versions, to keep all existing clones during restarts.

Links