LiteSync – Easy synchronization of SQLite databases
litesync.io
litesync.io
1. Avoid using functions that return different values each time they are called, like random() and date('now')
2. AUTOINCREMENT keyword is not supported
3. We must use just a single connection to each database file. Do not let many apps access the same database file. Each instance must use its own db file, and then they will be replicated and synchronized using LiteSync
There are definitely obvious technical reasons for these, but it may make using the product for existing apps pretty much impossible.
Also worrisome is the lack, at least anywhere in the examples, of authentication parameters on the (proprietary, I guess?) TCP replication protocol, and no mention of over-the-wire encryption.
I suspect the issue with random() and date('now') similarly are they it will replay transactions on other nodes, and these would return different values. Obviously they could design the system to save the values for returning when replaying a transaction if they decided it was necessary.
I haven't looked in detail, but I'm suspicious they are using the SQLite Session extension: https://www.sqlite.org/sessionintro.html
Having used the Session extension extensively, from reading the info this would also be my conclusion (makes no use if it, which to me makes little sense).
AUTOINCREMENT you can replace in application space with nanoid, or similar semi-random ordered ID.
These practices are standard if you’re creating any data offline on clients or syncing two ways.
Isn't this a sqlite limitation?
Many have discouraged the use of RC4 for its weaknesses. But why not enhance it? Or create another algorithm based on it?
https://github.com/vlcn-io/cr-sqlite
51 days ago: https://news.ycombinator.com/item?id=33606311
[2] https://rqlite.io/docs/faq/#is-it-a-drop-in-replacement-for-...
How does it compare to PostgREST in this regard?
Who's behind this? The pages say they are copyright Gensis Sistemas LTDA but I can't find anything else by that name.
What tech is this? There's no licensing information in the download. sqlite doesn't require any attribution. I think litestream does, so maybe they're not using it?
LiteFS is Ben Johnson's newer project that does SQLite synchronization across nodes: https://github.com/superfly/litefs
It is a bad idea to publish text in a way that makes it hard to read - please stop that.
"Low contrast" also is an indicator for people following bad trends ("fashion") without thinking. It seems like this is not something that fits your project, so you should not put yourself into a bad light with a bad design decision for your website.
There is no definition for "tangential" in that guideline.
The main reason for a website to exist is being read, so it is a cardinal issue, when this requirement is not fulfilled, not a tangential one.
I hope this keeps the discussion interesting!
redbean embeds Lua, SQLite, and MbedTLS into a fork() driven application server that benchmarks at 1.1 million qps on a personal computer.
This is geared towards, say, having an application running on a device on an airplane, maybe a passenger CRM. You can have it run and update the DB while in the air with no connection, the DB will then sync with main node once on the ground with a connection.