mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
chore(kb): start articles for dblab
This commit is contained in:
63
knowledge base/database lab.md
Normal file
63
knowledge base/database lab.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Database Lab
|
||||
|
||||
Database Lab Engine is an open-source platform developed by Postgres.ai to create instant, full-size clones of
|
||||
production databases.<br/>
|
||||
Use cases of the clones are to test database migrations, optimize SQL, or deploy full-size staging apps.
|
||||
|
||||
The website <https://Postgres.ai/> hosts the SaaS version of the Database Lab Engine.
|
||||
|
||||
1. [Clones](#clones)
|
||||
1. [Further readings](#further-readings)
|
||||
1. [Sources](#sources)
|
||||
|
||||
## Clones
|
||||
|
||||
Database clones comes in two flavours:
|
||||
|
||||
- _Thick_ cloning: the regular way to copy data.<br/>
|
||||
It is also how data is copied to Database Lab the first time a source is added.
|
||||
|
||||
Thick clones can be:
|
||||
|
||||
- _Logical_: do a regular dump and restore using `pg_dump` and `pg_restore`.
|
||||
- _Physical_: done using `pg_basebackup` or restoring data from physical archives created by backup tools such as
|
||||
WAL-E/WAL-G, Barman, pgBackRest, or pg_probackup.
|
||||
|
||||
> Managed PostgreSQL databases in cloud environments (e.g.: AWS RDS) support only the logical clone type.
|
||||
|
||||
The Engine supports continuous synchronization with the source databases.<br/>
|
||||
Achieved by repeating the thick cloning method one initially used for the source.
|
||||
|
||||
- _Thin_ cloning: local containerized database clones based on CoW (Copy-on-Write) spin up in few seconds.<br/>
|
||||
They share most of the data blocks, but logically they look fully independent.<br/>
|
||||
The speed of thin cloning does **not** depend on the database size.
|
||||
|
||||
As of 2024-06, Database Lab Engine supports ZFS and LVM for thin cloning.<br/>
|
||||
With ZFS, the Engine periodically creates a new snapshot of the data directory and maintains a set of snapshots. When
|
||||
requesting a new clone, users choose which snapshot to use as base.
|
||||
|
||||
## Further readings
|
||||
|
||||
- [Website]
|
||||
- [Main repository]
|
||||
- [Documentation]
|
||||
- [`dblab`][dblab]
|
||||
|
||||
### Sources
|
||||
|
||||
<!--
|
||||
Reference
|
||||
═╬═Time══
|
||||
-->
|
||||
|
||||
<!-- In-article sections -->
|
||||
<!-- Knowledge base -->
|
||||
[dblab]: dblab.md
|
||||
|
||||
<!-- Files -->
|
||||
<!-- Upstream -->
|
||||
[documentation]: https://postgres.ai/docs/
|
||||
[main repository]: https://gitlab.com/postgres-ai/database-lab
|
||||
[website]: https://postgres.ai/
|
||||
|
||||
<!-- Others -->
|
||||
67
knowledge base/dblab.md
Normal file
67
knowledge base/dblab.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# `dblab`
|
||||
|
||||
Database Lab Engine client CLI.
|
||||
|
||||
1. [TL;DR](#tldr)
|
||||
1. [Further readings](#further-readings)
|
||||
1. [Sources](#sources)
|
||||
|
||||
## TL;DR
|
||||
|
||||
<details>
|
||||
<summary>Installation and configuration</summary>
|
||||
|
||||
```sh
|
||||
# Initialize CLI configuration.
|
||||
# Assumes that 'localhost:2345' forwards to the Database Lab Engine machine's at port 2345'.
|
||||
dblab init --environment-id 'tutorial' --url 'http://localhost:2345' --token 'secret_token' --insecure
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Usage</summary>
|
||||
|
||||
```sh
|
||||
# Fetch the status of the Engine's instance.
|
||||
dblab instance status
|
||||
|
||||
# Create clones.
|
||||
dblab clone create --username 'dblab_user_1' --password 'secret_password' --id 'my_first_clone'
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<!-- Uncomment if used
|
||||
<details>
|
||||
<summary>Real world use cases</summary>
|
||||
|
||||
```sh
|
||||
```
|
||||
|
||||
</details>
|
||||
-->
|
||||
|
||||
## Further readings
|
||||
|
||||
- [Database Lab]
|
||||
- [Website]
|
||||
- [Main repository]
|
||||
|
||||
### Sources
|
||||
|
||||
<!--
|
||||
Reference
|
||||
═╬═Time══
|
||||
-->
|
||||
|
||||
<!-- In-article sections -->
|
||||
<!-- Knowledge base -->
|
||||
[database lab]: database%20lab.md
|
||||
|
||||
<!-- Files -->
|
||||
<!-- Upstream -->
|
||||
[main repository]: https://github.com/project/
|
||||
[website]: https://website/
|
||||
|
||||
<!-- Others -->
|
||||
Reference in New Issue
Block a user