Show HN: LatticeDB – Like SQLite but for graph databases

github.com

128 points by smiths1999 12 hours ago


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.

adsharma - an hour ago

I measured this on a M4 mac mini (base model):

  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.

k9294 - 8 hours ago

I'm a big fan of SQLite embedded nature, which allows for chaining multiple SQL calls with near-zero latency.

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!

cjlm - 8 hours ago

Nice, I’ll get it added to gdb-engines.com

itissid - 8 hours ago

Does it have something like litestream to backit up for specific production usecases (i.e. a single webserver is enough and downtime of a few mins is tolerable)?

petervandijck - 9 hours ago

Congrats this is really cool and love the examples

tomComb - 9 hours ago

I wonder about mapping RDF data (like Wikidata) to this. I guess the RDF predicate becomes the edge in your node-edge style of graph.

vladigtr - 8 hours ago

Nice work. How do you handle concurrent writers on a single file? That's where embedded databases usually get tricky, and the graph model makes locking even more interesting.

tescreal - 9 hours ago

I see "Claude" listed as a contributor. Could you describe how and how much? I'm keen to see how this looks in practise.

As for the tool, it scratches an itch I've been having, I'll give it a go soon.

srameshc - 10 hours ago

LatticeDB looks good, just curious how useful is duckpgq

https://duckdb.org/community_extensions/extensions/duckpgq

ebb_earl_co - 11 hours ago

Just read through the README on GitHub and this looks impressive! Kudos

nrjames - 8 hours ago

Out of curiosity, why did you not fork and build on Kuzu?

- 3 hours ago
[deleted]
vorpalhex - 11 hours ago

Thank you for sharing. I think the sqlite-esque local file approach makes sense for a lot of use cases.

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?

idle_zealot - 3 hours ago

[dead]

- 12 hours ago
[deleted]
useiris - 10 hours ago

[flagged]

anentropic - 11 hours ago

See also: https://ladybugdb.com/ "DuckDB for graphs"

SmallUseful - 8 hours ago

[dead]