From a905bc0e6f142253955a48441d638a54b91d0c4e Mon Sep 17 00:00:00 2001 From: Nikolay Samokhvalov Date: Thu, 10 Aug 2023 18:23:49 +0000 Subject: [PATCH 1/6] Update README for 3.4 --- README.md | 125 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 70 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index daa48447c..d908bce46 100644 --- a/README.md +++ b/README.md @@ -5,18 +5,21 @@
-

Database Lab Engine (DLE)

+

DBLab Engine

- + twitter
- :zap: Blazing-fast cloning of PostgreSQL databases :elephant:
- Thin clones of PostgreSQL to build powerful development, test, QA, and staging environments.
- Available for any PostgreSQL, including AWS RDS*, GCP CloudSQL*, Heroku*, Digital Ocean*, and self-managed instances. + ⚡ Blazing-fast 🐘Postgres cloning and branching 🐘

+ 🛠️ Build powerful dev/test environments.
+ 🔃 Cover 100% of DB migrations with CI tests.
+ 💡 Quickly verify ChatGPT ideas to get rid of hallucinations.

+ Available for any PostgreSQL, including self-managed and managed* like AWS RDS, GCP CloudSQL, Supabase, Timescale.

+ Can be installed and used anywhere: all clouds and on-premises.

@@ -44,25 +47,29 @@ --- - * For a managed PostgreSQL cloud service such as AWS RDS or Heroku, where physical connection and access to PGDATA are not available, DLE is supposed to be running on a separate VM in the same region, performing periodical automated full refresh of data and serving itself as a database-as-a-service solution providing thin database clones for development and testing purposes. + *For managed PostgreSQL cloud services like AWS RDS or Heroku, direct physical connection and PGDATA access aren't possible. In these cases, DBLab should run on a separate VM within the same region. It will routinely auto-refresh its data, effectively acting as a database-as-a-service solution. This setup then offers thin database branching ideal for development and testing. -## Why DLE? -- Build dev/QA/staging environments based on full-size production-like databases. +## Why DBLab? +- Build dev/QA/staging environments using full-scale, production-like databases. - Provide temporary full-size database clones for SQL query analysis and optimization (see also: [SQL optimization chatbot Joe](https://gitlab.com/postgres-ai/joe)). -- Automatically test database changes in CI/CD pipelines to avoid incidents in production. +- Automatically test database changes in CI/CD pipelines, minimizing risks of production incidents. +- Rapidly validate ChatGPT or other LLM concepts, check for hallucinations, and iterate towards effective solutions. -For example, cloning a 1 TiB PostgreSQL database takes ~10 seconds. Dozens of independent clones are up and running on a single machine, supporting lots of development and testing activities, without increasing costs for hardware. +For example, cloning a 1 TiB PostgreSQL database takes just about 10 seconds. On a single machine, you can have dozens of independent clones running simultaneously, supporting extensive development and testing activities without any added hardware costs.

Try it yourself right now: -- enter [the Database Lab Platform](https://console.postgres.ai/), join the "Demo" organization, and test cloning of ~1 TiB demo database, or -- check out another demo setup, DLE CE: https://demo.aws.postgres.ai:446/instance, use the token `demo_token` to enter +- Visit [Postgres.ai Console](https://console.postgres.ai/), set up your first organization and provision a DBLab Standard Edition (DBLab SE) to any cloud or on-prem + - [Pricing](https://postgres.ai/pricing) (starting at $62/month) + - [Doc: How to install DBLab SE](https://postgres.ai/docs/how-to-guides/administration/install-dle-from-postgres-ai) +- Demo: https://demo.aws.postgres.ai:446/instance (use the token `demo_token` to access) +- Looking for a free version? Install DBLab Community Edition by [following this tutorial](https://postgres.ai/docs/tutorials/database-lab-tutorial) ## How it works -Thin cloning is fast because it uses [Copy-on-Write (CoW)](https://en.wikipedia.org/wiki/Copy-on-write#In_computer_storage). DLE supports two technologies to enable CoW and thin cloning: [ZFS](https://en.wikipedia.org/wiki/ZFS) (default) and [LVM](https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)). +Thin cloning is fast because it is based on [Copy-on-Write (CoW)](https://en.wikipedia.org/wiki/Copy-on-write#In_computer_storage). DBLab employs two technologies for enabling thin cloning: [ZFS](https://en.wikipedia.org/wiki/ZFS) (default) and [LVM](https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)). -With ZFS, Database Lab Engine periodically creates a new snapshot of the data directory and maintains a set of snapshots, cleaning up old and unused ones. When requesting a new clone, users can choose which snapshot to use. +Using ZFS, DBLab routinely takes new snapshots of the data directory, managing a collection of them and removing old or unused ones. When requesting a fresh clone, users have the option to select their preferred snapshot. Read more: - [How it works](https://postgres.ai/products/how-it-works) @@ -71,53 +78,61 @@ Read more: - [Questions and answers](https://postgres.ai/docs/questions-and-answers) ## Where to start -- [Database Lab tutorial for any PostgreSQL database](https://postgres.ai/docs/tutorials/database-lab-tutorial) -- [Database Lab tutorial for Amazon RDS](https://postgres.ai/docs/tutorials/database-lab-tutorial-amazon-rds) -- [Terraform module template (AWS)](https://postgres.ai/docs/how-to-guides/administration/install-database-lab-with-terraform) +- [DBLab tutorial for any PostgreSQL database](https://postgres.ai/docs/tutorials/database-lab-tutorial) +- [DBLab tutorial for Amazon RDS](https://postgres.ai/docs/tutorials/database-lab-tutorial-amazon-rds) +- [How to install DBLab SE using Postgres.ai Console](https://postgres.ai/docs/how-to-guides/administration/install-dle-from-postgres-ai) +- [How to install DBLab SE using AWS Marketplace](https://postgres.ai/docs/how-to-guides/administration/install-dle-from-aws-marketplace) ## Case studies -- Qiwi: [How Qiwi Controls the Data to Accelerate Development](https://postgres.ai/resources/case-studies/qiwi) - GitLab: [How GitLab iterates on SQL performance optimization workflow to reduce downtime risks](https://postgres.ai/resources/case-studies/gitlab) ## Features -- Blazing-fast cloning of Postgres databases – a few seconds to create a new clone ready to accept connections and queries, regardless of database size. -- The theoretical maximum number of snapshots and clones is 264 ([ZFS](https://en.wikipedia.org/wiki/ZFS), default). -- The theoretical maximum size of PostgreSQL data directory: 256 quadrillion zebibytes, or 2128 bytes ([ZFS](https://en.wikipedia.org/wiki/ZFS), default). -- PostgreSQL major versions supported: 9.6–14. -- Two technologies are supported to enable thin cloning ([CoW](https://en.wikipedia.org/wiki/Copy-on-write)): [ZFS](https://en.wikipedia.org/wiki/ZFS) and [LVM](https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)). -- All components are packaged in Docker containers. -- UI to make manual work more convenient. -- API and CLI to automate the work with DLE snapshots and clones. -- By default, PostgreSQL containers include many popular extensions ([docs](https://postgres.ai/docs/database-lab/supported-databases#extensions-included-by-default)). -- PostgreSQL containers can be customized ([docs](https://postgres.ai/docs/database-lab/supported-databases#how-to-add-more-extensions)). -- Source database can be located anywhere (self-managed Postgres, AWS RDS, GCP CloudSQL, Azure, Timescale Cloud, and so on) and does NOT require any adjustments. There are NO requirements to install ZFS or Docker to the source (production) databases. -- Initial data provisioning can be done at either the physical (pg_basebackup, backup / archiving tools such as WAL-G or pgBackRest) or logical (dump/restore directly from the source or from files stored at AWS S3) level. -- For logical mode, partial data retrieval is supported (specific databases, specific tables). -- For physical mode, a continuously updated state is supported ("sync container"), making DLE a specialized version of standby Postgres. -- For logical mode, periodic full refresh is supported, automated, and controlled by DLE. It is possible to use multiple disks containing different versions of the database, so full refresh won't require downtime. -- Fast Point in Time Recovery (PITR) to the points available in DLE snapshots. -- Unused clones are automatically deleted. -- "Deletion protection" flag can be used to block automatic or manual deletion of clones. -- Snapshot retention policies supported in DLE configuration. -- Persistent clones: clones survive DLE restarts (including full VM reboots). -- The "reset" command can be used to switch to a different version of data. -- DB Migration Checker component collects various artifacts useful for DB testing in CI ([docs](https://postgres.ai/docs/db-migration-checker)). -- SSH port forwarding for API and Postgres connections. -- Docker container config parameters can be specified in the DLE config. -- Resource usage quotas for clones: CPU, RAM (container quotas, supported by Docker) -- Postgres config parameters can be specified in the DLE config (separately for clones, the "sync" container, and the "promote" container). -- Monitoring: auth-free `/healthz` API endpoint, extended `/status` (requires auth), [Netdata module](https://gitlab.com/postgres-ai/netdata_for_dle). +- Speed & scale + - Blazing-fast cloning of Postgres databases – clone in seconds, irrespective of database size + - Theoretical max of snapshots/clones: 264 ([ZFS](https://en.wikipedia.org/wiki/ZFS), default) + - Maximum size of PostgreSQL data directory: 256 quadrillion zebibytes, or 2128 bytes ([ZFS](https://en.wikipedia.org/wiki/ZFS), default) +- Support & technologies + - Supported PostgreSQL versions: 9.6–15 + - Thin cloning ([CoW](https://en.wikipedia.org/wiki/Copy-on-write)) technologies: [ZFS](https://en.wikipedia.org/wiki/ZFS) and [LVM](https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)) + - UI for manual tasks and API & CLI for automation + - Packaged in Docker containers for all components +- Postgres containers + - Popular extensions including contrib modules, pgvector, HypoPG and many others ([docs](https://postgres.ai/docs/database-lab/supported-databases#extensions-included-by-default)) + - Customization capabilities for containers ([docs](https://postgres.ai/docs/database-lab/supported-databases#how-to-add-more-extensions)) + - Docker container and Postgres config parameters in DBLab config +- Source database requirements + - Location flexibility: self-managed Postgres, AWS RDS, GCP CloudSQL, Azure, etc. No source adjustments needed + - No ZFS or Docker requirements for source databases +- Data provisioning & retrieval + - Physical (pg_basebackup, WAL-G, pgBackRest) and logical (dump/restore) provisioning + - Partial data retrieval in logical mode (specific databases/tables) + - Continuous update in physical mode + - Periodic full refresh in logical mode without downtime +- Recovery & management + - Fast Point in Time Recovery (PITR) for physical mode + - Auto-deletion of unused clones + - Snapshot retention policies in DBLab configuration +- Clones + - "Deletion protection" for preventing clone deletion + - Persistent clones withstand DBLab restarts + - "Reset" command for data version switching + - Resource quotas: CPU, RAM +- Monitoring & security + - `/healthz` API endpoint (no auth), extended `/status` endpoint ([API docs](https://api.dblab.dev)) + - Netdata module for insights ## How to contribute -### Give the project a star -The easiest way to contribute is to give the project a GitHub/GitLab star: +### Support us on GitHub/GitLab +The simplest way to show your support is by giving us a star on GitHub or GitLab! ⭐ ![Add a star](./assets/star.gif) ### Spread the word -Post a tweet mentioning [@Database_Lab](https://twitter.com/Database_Lab) or share the link to this repo in your favorite social network. +- Shoot out a tweet and mention [@Database_Lab](https://twitter.com/Database_Lab) +- Share this repo's link on your favorite social media platform -If you are actively using DLE, tell others about your experience. You can use the logo referenced below and stored in the `./assets` folder. Feel free to put them in your documents, slide decks, application, and website interfaces to show that you use DLE. +### Share your experience +If DBLab has been a vital tool for you, tell the world about your journey. Use the logo from the `./assets` folder for a visual touch. Whether it's in documents, presentations, applications, or on your website, let everyone know you trust and use DBLab. HTML snippet for lighter backgrounds:

@@ -151,27 +166,27 @@ Check out our [contributing guide](./CONTRIBUTING.md) for more details. Making Database Lab Engine more accessible to engineers around the Globe is a great help for the project. Check details in the [translation section of contributing guide](./CONTRIBUTING.md#Translation). ### Reference guides -- [DLE components](https://postgres.ai/docs/reference-guides/database-lab-engine-components) -- [DLE configuration reference](https://postgres.ai/docs/database-lab/config-reference) -- [DLE API reference](https://postgres.ai/swagger-ui/dblab/) +- [DBLab components](https://postgres.ai/docs/reference-guides/database-lab-engine-components) +- [DBLab configuration reference](https://postgres.ai/docs/database-lab/config-reference) +- [DBLab API reference](https://postgres.ai/swagger-ui/dblab/) - [Client CLI reference](https://postgres.ai/docs/database-lab/cli-reference) ### How-to guides - [How to install Database Lab with Terraform on AWS](https://postgres.ai/docs/how-to-guides/administration/install-database-lab-with-terraform) - [How to install and initialize Database Lab CLI](https://postgres.ai/docs/how-to-guides/cli/cli-install-init) -- [How to manage DLE](https://postgres.ai/docs/how-to-guides/administration) +- [How to manage DBLab](https://postgres.ai/docs/how-to-guides/administration) - [How to work with clones](https://postgres.ai/docs/how-to-guides/cloning) More you can find in [the "How-to guides" section](https://postgres.ai/docs/how-to-guides) of the docs. ### Miscellaneous -- [DLE Docker images](https://hub.docker.com/r/postgresai/dblab-server) +- [DBLab Docker images](https://hub.docker.com/r/postgresai/dblab-server) - [Extended Docker images for PostgreSQL (with plenty of extensions)](https://hub.docker.com/r/postgresai/extended-postgres) - [SQL Optimization chatbot (Joe Bot)](https://postgres.ai/docs/joe-bot) - [DB Migration Checker](https://postgres.ai/docs/db-migration-checker) ## License -DLE source code is licensed under the OSI-approved open source license GNU Affero General Public License version 3 (AGPLv3). +DBLab source code is licensed under the OSI-approved open source license GNU Affero General Public License version 3 (AGPLv3). Reach out to the Postgres.ai team if you want a trial or commercial license that does not contain the GPL clauses: [Contact page](https://postgres.ai/contact). -- GitLab From 01113b6e6cc76a1a225595f3e3232581849dafe8 Mon Sep 17 00:00:00 2001 From: Nikolay Samokhvalov Date: Thu, 10 Aug 2023 18:24:54 +0000 Subject: [PATCH 2/6] Update README.md --- README.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d908bce46..3a97a9d6c 100644 --- a/README.md +++ b/README.md @@ -198,16 +198,12 @@ Reach out to the Postgres.ai team if you want a trial or commercial license that - [Community Slack](https://slack.postgres.ai) - If you need to report a security issue, follow instructions in ["Database Lab Engine security guidelines"](./SECURITY.md). -[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?color=blue)](./CODE_OF_CONDUCT.md) - ## Translations - This README is available in the following translations: - -- [German / Deutsch](translations/README.german.md) (🙏 [@ane4ka](https://github.com/ane4ka)) -- [Brazilian Portuguese / Português (BR)](translations/README.portuguese-br.md) (🙏 [@Alexand](https://gitlab.com/Alexand)) -- [Russian / Pусский](translations/README.russian.md) (🙏 [@Tanya301](https://github.com/Tanya301)) -- [Spanish / Español](translations/README.spanish.md) (🙏 [@asotolongo](https://gitlab.com/asotolongo)) -- [Ukrainian / Українська](translations/README.ukrainian.md) (🙏 [@denis-boost](https://github.com/denis-boost)) +- [German / Deutsch](translations/README.german.md) (by [@ane4ka](https://github.com/ane4ka)) +- [Brazilian Portuguese / Português (BR)](translations/README.portuguese-br.md) (by [@Alexand](https://gitlab.com/Alexand)) +- [Russian / Pусский](translations/README.russian.md) (by [@Tanya301](https://github.com/Tanya301)) +- [Spanish / Español](translations/README.spanish.md) (by [@asotolongo](https://gitlab.com/asotolongo)) +- [Ukrainian / Українська](translations/README.ukrainian.md) (by [@denis-boost](https://github.com/denis-boost)) 👉 [How to make a translation contribution](./CONTRIBUTING.md#translation) -- GitLab From 9a7a14c8a2121aee03b25628a117c668bbf699cd Mon Sep 17 00:00:00 2001 From: Nikolay Samokhvalov Date: Thu, 10 Aug 2023 18:25:55 +0000 Subject: [PATCH 3/6] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3a97a9d6c..c6fc687b7 100644 --- a/README.md +++ b/README.md @@ -190,13 +190,13 @@ DBLab source code is licensed under the OSI-approved open source license GNU Aff Reach out to the Postgres.ai team if you want a trial or commercial license that does not contain the GPL clauses: [Contact page](https://postgres.ai/contact). -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fpostgres-ai%2Fdatabase-lab-engine.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fpostgres-ai%2Fdatabase-lab-engine?ref=badge_large) - ## Community & Support - ["Database Lab Engine Community Covenant Code of Conduct"](./CODE_OF_CONDUCT.md) - Where to get help: [Contact page](https://postgres.ai/contact) - [Community Slack](https://slack.postgres.ai) -- If you need to report a security issue, follow instructions in ["Database Lab Engine security guidelines"](./SECURITY.md). +- If you need to report a security issue, follow instructions in ["Database Lab Engine security guidelines"](./SECURITY.md) + +[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?color=blue)](./CODE_OF_CONDUCT.md) ## Translations This README is available in the following translations: -- GitLab From b53a9206033dcdd07ab786211f22724c25bb4073 Mon Sep 17 00:00:00 2001 From: Nikolay Samokhvalov Date: Thu, 10 Aug 2023 19:32:22 +0000 Subject: [PATCH 4/6] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c6fc687b7..317792235 100644 --- a/README.md +++ b/README.md @@ -167,12 +167,11 @@ Making Database Lab Engine more accessible to engineers around the Globe is a gr ### Reference guides - [DBLab components](https://postgres.ai/docs/reference-guides/database-lab-engine-components) -- [DBLab configuration reference](https://postgres.ai/docs/database-lab/config-reference) -- [DBLab API reference](https://postgres.ai/swagger-ui/dblab/) - [Client CLI reference](https://postgres.ai/docs/database-lab/cli-reference) +- [DBLab API reference](https://api.dblab.dev/) +- [DBLab configuration reference](https://postgres.ai/docs/database-lab/config-reference) ### How-to guides -- [How to install Database Lab with Terraform on AWS](https://postgres.ai/docs/how-to-guides/administration/install-database-lab-with-terraform) - [How to install and initialize Database Lab CLI](https://postgres.ai/docs/how-to-guides/cli/cli-install-init) - [How to manage DBLab](https://postgres.ai/docs/how-to-guides/administration) - [How to work with clones](https://postgres.ai/docs/how-to-guides/cloning) -- GitLab From 4d6edd49ef825e80d325c105a08faf13932841a3 Mon Sep 17 00:00:00 2001 From: Nikolay Samokhvalov Date: Thu, 10 Aug 2023 19:35:10 +0000 Subject: [PATCH 5/6] Apply 1 suggestion(s) to 1 file(s) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 317792235..7ad84a9cb 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@

- ⚡ Blazing-fast 🐘Postgres cloning and branching 🐘

+ ⚡ Blazing-fast Postgres cloning and branching 🐘

🛠️ Build powerful dev/test environments.
🔃 Cover 100% of DB migrations with CI tests.
💡 Quickly verify ChatGPT ideas to get rid of hallucinations.

-- GitLab From e483e7282f71f3e539cea35c0527aa81691d52c7 Mon Sep 17 00:00:00 2001 From: Nikolay Samokhvalov Date: Thu, 10 Aug 2023 20:36:55 +0000 Subject: [PATCH 6/6] Contributors --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7ad84a9cb..c84c9ac5a 100644 --- a/README.md +++ b/README.md @@ -162,8 +162,6 @@ Check out our [contributing guide](./CONTRIBUTING.md) for more details. ### Participate in development Check out our [contributing guide](./CONTRIBUTING.md) for more details. -### Translate the README -Making Database Lab Engine more accessible to engineers around the Globe is a great help for the project. Check details in the [translation section of contributing guide](./CONTRIBUTING.md#Translation). ### Reference guides - [DBLab components](https://postgres.ai/docs/reference-guides/database-lab-engine-components) @@ -197,7 +195,15 @@ Reach out to the Postgres.ai team if you want a trial or commercial license that [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?color=blue)](./CODE_OF_CONDUCT.md) +Many thanks to our amazing contributors! + + + + + ## Translations +Making DBLab more accessible to engineers around the globe is a great help for the project. Check details in the [translation section of contributing guide](./CONTRIBUTING.md#Translation). + This README is available in the following translations: - [German / Deutsch](translations/README.german.md) (by [@ane4ka](https://github.com/ane4ka)) - [Brazilian Portuguese / Português (BR)](translations/README.portuguese-br.md) (by [@Alexand](https://gitlab.com/Alexand)) @@ -206,3 +212,5 @@ This README is available in the following translations: - [Ukrainian / Українська](translations/README.ukrainian.md) (by [@denis-boost](https://github.com/denis-boost)) 👉 [How to make a translation contribution](./CONTRIBUTING.md#translation) + + -- GitLab