-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
125 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -73,6 +73,14 @@ SHOW wal_level; | |
Note that changing `wal_level` in PostgreSQL requires a restart. Changing from `replica` to `logical` won't break replication. | ||
It will just increase the WAL volume (disk space and network traffic if there are replicas). | ||
|
||
### Changing WAL level in a self-managed PostgreSQL | ||
|
||
Run the following SQL command and restart your database: | ||
|
||
```sql | ||
ALTER SYSTEM SET wal_level = logical; | ||
``` | ||
|
||
### Changing WAL level on AWS RDS | ||
|
||
At a high level, these are the steps necessary to update `wal_level` from `replica` to `logical` | ||
|
@@ -127,3 +135,7 @@ echo 'ssh-ed25519 AAAAC3Nz...' >> ~/.ssh/authorized_keys | |
``` | ||
|
||
If you need a public SSH Key before you know the SSH host address, just specify any address and later reach out to us to update it. | ||
|
||
## Static IPs | ||
|
||
If you restrict access to your databases by IP addresses, [contact us](mailto:[email protected]). We will share our static IP addresses, which you can add to an allowlist, so we can connect to your Source PostgreSQL database. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Self-Hosting | ||
|
||
<a class="github-button" href="https://github.com/BemiHQ/bemi" data-size="large" data-show-count="true" aria-label="Star BemiHQ/bemi on GitHub">BemiHQ/bemi</a> | ||
<br /> | ||
<br /> | ||
|
||
![Bemi Worker Architecture](/img/worker.png) | ||
|
||
Bemi consists of three main parts: | ||
|
||
1. [Debezium](https://github.com/debezium/debezium), a very flexible tool for implementing Change Data Capture that is written in Java. It is used by many companies that need to implement ETL such as [Airbyte](https://github.com/airbytehq/airbyte) and [Materialize](https://github.com/MaterializeInc/materialize). We rely on it to be able to connect to PostgreSQL replication log, perform logical decoding, and send raw data to a data sink. | ||
2. [NATS JetStream](https://github.com/nats-io/nats-server), a cloud-native messaging system written in Go. Debezium is historically designed to send data to Kafka, but it can be also re-configured to send data to NATS JetStream. It is much more lightweight and easy to manage while being very performant and having over 45 clients for different programming languages. | ||
3. Bemi Worker, a process responsible for stitching data change with app context sent via our open-source [ORM packages](https://docs.bemi.io/#supported-nodejs-orms) and storing data changes. It is written in TypeScript and uses the [`core`](https://github.com/BemiHQ/bemi) that we rely on for our [Bemi](https://bemi.io/) cloud platform. | ||
|
||
If you want to self-host our solution in a production environment, please [contact us](mailto:[email protected]), and we'll be happy to provide you with a Docker image and assist with setting it up in exchange for your feedback :) | ||
|
||
## Self-Hosting vs Bemi Cloud | ||
|
||
| | Self-Hosting | Bemi Cloud | | ||
| ------------------------------ | ------------- | ----------- | | ||
| Automatic data change tracking | ✅ | ✅ | | ||
| PostgreSQL support | ✅ | ✅ | | ||
| Automatic table partitioning | ❌ | ✅ | | ||
| Automatic data retention | ❌ | ✅ | | ||
| Auto-scaling and redundancy | ❌ | ✅ | | ||
| Control plane and monitoring | ❌ | ✅ | | ||
| Support | ❌ | ✅ | | ||
| Bemi Search UI (coming soon) | ❌ | ✅ | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,6 +31,7 @@ const sidebars: SidebarsConfig = { | |
'orms/typeorm', | ||
], | ||
}, | ||
'self-hosting', | ||
], | ||
}; | ||
|
||
|