Show HN: LatticeDB – Like SQLite but for graph databases
129 points - yesterday at 4:52 PM
We have been using graph DBs more and more at work. I found them painful to work with locally and decided to try and build something better.
Comments
I'm currently building a personal knowledge graph server a mix of Notion's custom entities via JSON schema and Obsidian markdown+backlinked references. It's working well, but I suspect your product might be a better fit.
I do have one question regarding permissions: how would you recommend modeling a hierarchical access system in a graph database? Specifically, if a user is granted access to a document, they should automatically have access to all its child documents within that workspace. Is there a standard way to model this 'subtree' permission logic, or perhaps a more efficient approach you'd suggest?
Really impressed with the product good luck with it!
zig build sqlite-benchmark
Medium (100K nodes)
+----------------------+-----------+---------+---------+
| Workload | LatticeDB | SQLite | Speedup |
+----------------------+-----------+---------+---------+
| 1-hop traversal | 5.7μs | 16.1μs | 2.8x |
| 2-hop traversal | 30.1μs | 59.4μs | 2.0x |
| 3-hop traversal | 171.1μs | 228.8μs | 1.3x |
| Variable path (1..5) | 82.2μs | 5.8ms | 70.4x |
+----------------------+-----------+---------+---------+
Very different from the comparison on github and the website.Given that on-disk data structures are similar to SQLite, I expect the competition from other "graph on sqlite" projects when they co-opt the techniques in LatticeDB.
As for the tool, it scratches an itch I've been having, I'll give it a go soon.
What are some of the scales of the data you've been able to test this design on so far?
What was the most interesting part of designing it for you?