Our company, Gensis Sistemas LTDA, is located at the South of Brazil.
We already developed 3 products for SQLite database replication: LiteServer, LiteReplica and LiteSync
LiteServer was distributed with our apps and it was used only internally.
LiteReplica implements a one-direction (single master) replication. It copies only the modified database pages from the master db file to the replicas. We can view it as an incremental remote backup in which we can read from the replica databases (but not write to them).
LiteSync is the third generation. It implements a multi-master replication using the SQL commands and guarantees that the order of execution will be the same on all the nodes once they are synchronized. It does not matter the time of execution when the nodes were off-line. This is ensured via a modification in the WAL files that allows branching the database.
In the long process of developing these products we created some interesting modules that we released as open source projects under the MIT license. They are:
- libuv_message_framing - message transfer on stream sockets
- uv_callback - communication between libuv threads
- binn - easy to use binary serialization in C
- xrc4 (extended RC4)
- sqlite3-wrapper (modified fork, used with node-sqlite3)
- netstring-c (modified fork)
Feel comfortable to contact us