Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kroggen
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
kroggen
6y ago
By being simple does not mean that it is not insightful
32.
▲
by
kroggen
6y ago
She made a video presentation at the Brains@Bay Meetup: https://youtu.be/40OEn4Gkebc?t=2769
33.
▲
Siren: Sinusoidal Representation Networks
(youtube.com)
3 points
by
kroggen
6y ago
|
0 comments
34.
▲
by
kroggen
8y ago
In SQLightning the database rows are stored on LMDB instead of writing them to SQLite's B-tree. In LiteTree the database pages are stored on LMDB instead of writing them to the WAL. LiteTree has MVCC, that comes from LMDB and SQLit
35.
▲
by
kroggen
8y ago
I guess I wrote it wrong. The access is made by specifying the branch and desired commit number (integer value). It is not done by a date-time value. Although adding metadata (like date-time) can be supported if required by the users.
36.
▲
by
kroggen
8y ago
It is way easier to store the pages in a key/value db than storing them in separate files. And I don't need to implement concurrency access control as it is dealt by LMDB. It leads to an easier implementation and robustness, as th
37.
▲
by
kroggen
8y ago
Because of the performance. Have you seen the results? Memory-mapped file database with zero-copy on reads, just returning the pointer to the data on memory. LMDB is awesome!
38.
▲
by
kroggen
8y ago
Yeah, this is also used in virtual machines disk images (I guess)
39.
▲
by
kroggen
8y ago
If you create an index on a branch it will only be visible to the child branches starting from the point where the index was created. I encourage you to clone and test it. It is easy to compile, and it's fun! I will make a video in the
40.
▲
by
kroggen
8y ago
LMDB is crash-proof and its speed is unbelievable! I hope LiteTree will be too. The trade-off is storage space as all the history is recorded. But is uses way less space than copying the entire db on each branch creation.
41.
▲
by
kroggen
8y ago
Hi! It was not tested with the official SQLite public tests yet, but this will happen in the next month. Some tests will need to be adapted (maybe a lot) so it may take a while. But stability and reliability is our focus as it will be inclu
42.
▲
by
kroggen
8y ago
Good to know your interest! LiteTree is implemented with production use in mind. It will be used in the Aergo blockchain ( https://www.aergo.io/ ). New tests will be released in the next weeks.
43.
▲
by
kroggen
8y ago
Indeed. But the last version of SQLightning is using SQLite 3.7. It would be useful to have an updated version. I was going to update it but then I decided to implement LiteTree in another way, using pages instead of rows. This is because o
44.
▲
by
kroggen
8y ago
When I saw the results I did not believe, so I reviewed the benchmark code. It is basically the same SQL commands being run in normal SQLite and with the branching enabled. Yes, LMDB is proved to be safe. It is used in many apps and even ot
45.
▲
by
kroggen
8y ago
Yeah, I will use the sqldiff code internally to implement diff between 2 branches. Excellent work from Richard Hipp and its team indeed. And thank you for your work! I may use it someday.
46.
▲
by
kroggen
8y ago
Nice! I did not know your repo. I guess they have different use cases. Yours is good to store the db inside of a git repo. I had only read about storing the dump of SQL commands on the repo and then use the git diff. But it requires dumping
47.
▲
by
kroggen
8y ago
Well, we can read the database at any point-in-time by selecting the branch and commit number. So it is similar to a snapshot. And yes, it is a type of Snapshot Isolation or MVCC (Multi Version Concurrency Control) but more than that becaus
48.
▲
by
kroggen
8y ago
I guess that LMDB is the root of the outstanding peformance. Check it out, it is an innovative key/value database that uses a memory-mapped db file, the OS cache, zero-copy on reads and copy-on-write.
49.
▲
LiteTree: SQLite with Branches
(github.com)
343 points
by
kroggen
8y ago
|
75 comments
50.
▲
Libuv thread communication
(github.com)
2 points
by
kroggen
9y ago
|
0 comments
51.
▲
Make RC4 Great Again: XRC4
(github.com)
2 points
by
kroggen
10y ago
|
0 comments
52.
▲
Message-based communication for libuv
(github.com)
5 points
by
kroggen
10y ago
|
0 comments
53.
▲
Easy Binary Serialization for C
(github.com)
1 points
by
kroggen
11y ago
|
0 comments