Skip to content

Integrate bottomless WAL: automatic replication to S3-compatible storage#92

Closed
psarna wants to merge 8 commits into
tursodatabase:mainfrom
psarna:bottomless_integration
Closed

Integrate bottomless WAL: automatic replication to S3-compatible storage#92
psarna wants to merge 8 commits into
tursodatabase:mainfrom
psarna:bottomless_integration

Conversation

@psarna
Copy link
Copy Markdown
Contributor

@psarna psarna commented Dec 21, 2022

This patchset integrates libSQL with https://github.com/libsql/bottomless - an optional extension which adds transparent automatic replication to S3-compatible storage. It only works in WAL mode, because the implementation is based on virtual WAL.
In order to compile and link the extension statically, configure the project with:

# remember about a one-shot additional step: git submodule update --init
./configure --enable-bottomless-wal

This extension is added in a form of a git submodule, because https://github.com/libsql/bottomless is its own project that also comes with a Rust library and command-line interface. Rust applications should prefer registering the extension directly in Rust code instead of compiling the support into libsqlite3.so. The procedure will eventually get thoroughly explained in the docs.

Draft, because it's in early stage of testing, with trace amount of automatic test coverage and not enough docs.

@psarna psarna requested a review from penberg December 21, 2022 10:46
@psarna psarna force-pushed the bottomless_integration branch 10 times, most recently from a20b555 to 27a13f9 Compare December 23, 2022 08:33
psarna added 2 commits March 10, 2023 08:45
The submodule contains source code for bottomless WAL implementation.
It's shipped as a submodule, because it also makes sense to keep
the implementation as a standalone repository.
Namely, when integrating with Rust, it's more efficient to load
the extension directly from Rust code instead of linking with
a dynamic library that contains another (redundant) copy of Rust
runtime.
From now on, configuring the project with
./configure --enable-bottomless-wal
will compile in built-in support for S3-compatible WAL
implementation which automatically replicates data
to remote storage and is able to restore it.
@psarna psarna force-pushed the bottomless_integration branch from 27a13f9 to 05c30f6 Compare March 10, 2023 11:17
@psarna psarna force-pushed the bottomless_integration branch from 05c30f6 to a0108ef Compare March 13, 2023 08:34
@psarna psarna marked this pull request as ready for review March 13, 2023 09:32
@psarna psarna force-pushed the bottomless_integration branch from 7b85027 to e2a7477 Compare March 13, 2023 10:44
@penberg
Copy link
Copy Markdown
Collaborator

penberg commented Aug 10, 2023

Closed as obsolete.

@penberg penberg closed this Aug 10, 2023
@lpil
Copy link
Copy Markdown

lpil commented Aug 22, 2023

Hi folks! fyi this is still linked from the homepage https://libsql.org/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants