You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/www/lumo-relevant-codebases.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,13 +65,20 @@ MVCC-compliant K-V stores, and still using Write-Ahead Logs.
65
65
As of June 2020, Oracle announced that it has dropped support for the BDB port
66
66
to SQLite. DB 18.1.32 is the last version to carry this, which is based on
67
67
SQLite from 2017. This is the reference and basis for the BDB backend in
68
-
LumoSQL.
68
+
LumoSQL.
69
69
70
70
| Project | Last modified | Description |
71
71
| ------------- | ------------- | --------|
72
72
|[Sleepycat/Oracle BDB](https://fossies.org/linux/misc/db-18.1.32.tar.gz)| current | The original ubiquitous Unix K-V store, disused in open source since Oracle's 2013 license change; the API template for most of the k-v btree stores around. Now includes many additional features including full MVCC transactions, networking and replication. This link is a mirror of code from download.oracle.com, which requires a login |
73
73
|[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 |
74
74
75
+
It turns out though that Oracle is not the developer of KV stores based on BDB
76
+
code. ComDB, listed under "Clustered Codebases", uses a KV store derived from
77
+
BDB before Oracle bought Sleepcat Software, meaning before the license changed
78
+
from BSD to AGPL. ComDB added row-level locks to BDB, and prefaulting/readahead among
79
+
other features. It is not yet clear whether it is still possible to extract the BDB
80
+
library from ComDB and use it standalone elsewhere (such as a LumoSQL backend.)
81
+
75
82
# Distributed or Clustered Codebases
76
83
77
84
The following five projects are widely-varying examples of how SQLite data can
@@ -164,6 +171,9 @@ Encryption is a major problem for SQLite users looking for open code. There are
164
171
165
172
... there are many more crypto projects for SQLite.
166
173
174
+
175
+
176
+
167
177
# List of from-scratch MySQL SQL and MySQL Server implementations
168
178
169
179
If we want to make SQLite able to process MySQL queries there is a lot of existing code in this area to consider. There are at least 80 projects on github which implement some or all of the MySQL network-parse-optimise-execute SQL pathway, a few of them implement all of it. None so far reviewed used MySQL or MariaDB code to do so. Perhaps that is because the SQL processing code alone in these databases is many times bigger than the whole of SQLite, and it isn't even clear how to add them to this table if we wanted to. Only a few of these projects put a MySQL frontend on SQLite, but two well-maintained projects do, showing us two ways of implementing this.
0 commit comments