TerminusDB Internals: Mutation in a Graph Database
terminusdb.comTerminusDB is written in Prolog, pretty cool. See eg https://github.com/terminusdb/terminusdb/blob/main/src/core/...
Yes, but the low level memory layout and search iterators are written in rust.
This is my account of how we took the idea of succinct data structures, and added mutability, thereby getting something which allows for git-like functionality, but also fast query and compact memory footprint.
In the third example box of the "Immutable Updates" section, I believe the text '(joe,dob,"Joe Bob") ===> Answer' should be changed to '(joe,dob,"1978-01-01") ===> Answer'.
How good is the overall speed?
Quite speedy, especially when looking at relatively long chains in the graph.