Skip to content

Commit 5301f15

Browse files
committed
Add first pass analysis of Bloomberg Comdb's SQLite+BDB derivation
Signed-off-by: danshearer <dan@shearer.org>
1 parent a5f8b52 commit 5301f15

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

doc/www/lumo-relevant-codebases.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,15 @@ LumoSQL.
7474

7575
# Distributed or Clustered Codebases
7676

77-
The following four projects are widely-varying examples of how SQLite data can
77+
The following five projects are widely-varying examples of how SQLite data can
7878
be distributed, whether across just a few local nodes or across a much higher
7979
number of internet-connected nodes.
8080

8181
| Project | Last modified | Description |
8282
| ------------- | ------------- | --------|
8383
| [rqlite](https://github.com/rqlite/rqlite) | current | Distributed database with networking and Raft consensus on top of SQLite nodes |
8484
| [Bedrock](https://github.com/Expensify/Bedrock) | current | WAN-replicated blockchain multimaster database built on SQLite. Has MySQL emulation |
85+
| [Comdb](https://github.com/bloomberg/comdb2) | current | Clustered HA RDBMS built on SQLite and a forked old Sleepcat BDB, synchronous replication, stored procedures |
8586
| [ActorDB](https://github.com/biokoda/actordb) | current | SQLite with a data sharding/distribution system across clustered nodes. Each node stores data in LMDB, which is connected to SQLite at the SQLite WAL layer |
8687
| [WAL-G](https://github.com/wal-g/wal-g) | current | Backup/replication tool that intercepts the WAL journal log for each of Postgres, Mysql, MonogoDB and Redis |
8788

@@ -93,6 +94,8 @@ WAL-G illustrates a useful side-effect of having a WAL, in that it can be used a
9394

9495
Oracle BDB-SQL discussed in the previous section also has replication.
9596

97+
Comdb has a large team of active developers, and is the most ambitious of the SQLite-derived databases. Bloomberg LP created Comdb in 2004 and designed it for scale and yet with synchronous replication and full RDBMS functionality, the opposite of NoSQL solutions. SQLite has been ported to an old version of Sleepycat Berkely DB, which has been forked and extensively modified. The BDB interface is still largely used.
98+
9699
| [sql.js](https://github.com/kripken/sql.js/) | current | SQLite compiled to JavaScript WebAssembly through Emscripten |
97100

98101
# Code to Potentially Include in LumoSQL

doc/www/lumo-relevant-knowledgebase.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ SQLite code has been incorporated into many other projects, and besides there ar
4343
| [Sleepycat/Oracle BDB-SQL](https://fossies.org/linux/misc/db-18.1.32.tar.gz) | current | Port of SQLite to the Sleepycat/Oracle transactional bdb K-V store. As of 5th March 2020 this mirror is identical to Oracle's login-protected tarball for db 18.1.32 |
4444
| [rqlite](https://github.com/rqlite/rqlite) | current | Distributed database with networking and Raft consensus on top of SQLite nodes |
4545
| [Bedrock](https://github.com/Expensify/Bedrock) | current | WAN-replicated blockchain multimaster database built on SQLite. Has MySQL emulation |
46+
| [Comdb](https://github.com/bloomberg/comdb2) | current | Clustered HA RDBMS built on SQLite and a forked old Sleepcat BDB, synchronous replication, stored procedures |
4647
| [sql.js](https://github.com/kripken/sql.js/) | current | SQLite compiled to JavaScript WebAssembly through Emscripten |
4748
| [ActorDB](https://github.com/biokoda/actordb) | current | SQLite with a data sharding/distribution system across clustered nodes. Each node stores data in LMDB, which is connected to SQLite at the SQLite WAL layer |
4849
| [WAL-G](https://github.com/wal-g/wal-g) | current | Backup/replication tool that intercepts the WAL journal log for each of Postgres, Mysql, MonogoDB and Redis |

0 commit comments

Comments
 (0)