I'm trying to see how a graph database would be significantly faster than a key-value database. The only thing that comes to mind is that with graph databases a node's edges contain direct pointers or offsets to the other nodes, instead of containing the "public" string key of every other node, which has to be looked up via the B-tree index. This conclusion is supported by http://blog.directededge.com/2009/02/27/on-building-a-stupid...
So if key-value stores gave us access to their internal record IDs or offsets, both to read and search by, we would see a considerable improvement. The trade off would be sticking to an append-only data structure without compaction, or doing some extra work to update the offsets on every compaction.
So if key-value stores gave us access to their internal record IDs or offsets, both to read and search by, we would see a considerable improvement. The trade off would be sticking to an append-only data structure without compaction, or doing some extra work to update the offsets on every compaction.