25 ms·
Prolly trees are currently used (and maintained) in Dolt [1, 2], who dive a little deeper into the implementation. [1]: https://www.dolthub.com/blog/2020-04-01
by tadfisher 3y ago
Prolly trees are currently used (and maintained) in Dolt [1, 2], who dive a little deeper into the implementation.
[1]: https://www.dolthub.com/blog/2020-04-01-how-dolt-stores-table-data/ https://www.dolthub.com/blog/2020-04-01-how-dolt-stores-tabl...
[2]: https://docs.dolthub.com/architecture/storage-engine/prolly-tree https://docs.dolthub.com/architecture/storage-engine/prolly-...
- zachmu 3y agoOur implementation of the Merkle DAG data structure is optimized for tabular data since Dolt is a SQL database, but a lot of it generalizes to other kinds of data. For example, we put a lot of work into making sure that chunk sizes had a predictable distribution, since very large chunks kill query performance: https://www.dolthub.com/blog/2022-06-27-prolly-chunker/ https://www.dolthub.com/blog/2022-06-27-prolly-chunker/ We also have a lot of work to do with preserving structural sharing across schema changes, which we're not great at yet. https://www.dolthub.com/blog/2024-01-19-structural-sharing-with-schema-changes/ https://www.dolthub.com/blog/2024-01-19-structural-sharing-w...
- jchanimal 3y agoFireproof uses a 2-layer CRDT (the inner CRDT is encrypted). We also use prolly-trees for indexing. You can read more about the storage engine here: https://fireproof.storage/posts/remote-access-crdt-wrapped-multi-writer-enabled-immutable-file-format/ https://fireproof.storage/posts/remote-access-crdt-wrapped-m... Edit to add: we extracted the outer blockstore so anyone doing immutable data or ipfs can take advantage of our sync connectors. https://www.npmjs.com/package/@fireproof/encrypted-blockstore https://www.npmjs.com/package/@fireproof/encrypted-blockstor...