Grafeo – A fast, lean, embeddable graph database built in Rust(grafeo.dev)
133 points by 0x1997 6 hours ago | 41 comments
- lmeyerov 14 minutes agoSpeaking of embeddable, we just announced cypher syntax for gfql, so the first OSS GPU cypher query engine. Typically used with scaleout DBs (ex: databricks) for analytical apps (security/fraud/event/social data analysis pipelines, ML+AI embedding & enrichment pipelines, ...). We built it to help Graphistry users making embeddable interactive GPU graph viz apps and dashboards and not wanting to add a graph DB out call into their interactive analytics flows.
Single GPU can do 1B+ edges/s, no need for a DB install, and can work straight on your dataframes / apache arrow / parquet: https://pygraphistry.readthedocs.io/en/latest/gfql/benchmark...
We took a multilayer approach to the GPU & vectorization acceleration, including a more parallelism-friendly core algorithm. This makes fancy features pay-as-you-go vs dragging everything down as in most columnar engines that are appearing. Our vectorized core conforms to over half of TCK already, and we are working to add trickier bits on different layers now that flow is established.
The core GFQL engine has been in production for a year or two now with a lot of analyst teams around the world (NATO, banks, US gov, ...) because it is part of Graphistry -- the cypher support is us starting to make it easy for others to directly use as well :)
- adsharma 5 hours agoThere are 25 graph databases all going me too in the AI/LLM driven cycle.
Writing it in Rust gets visibility because of the popularity of the language on HN.
Here's why we are not doing it for LadybugDB.
Would love to explore a more gradual/incremental path.
Also focusing on just one query language: strongly typed cypher.
[-]- tadfisher 4 hours agoIs LadybugDB not one of these 25 projects?[-]
- adsharma 4 hours agoLadybugDB is backed by this tech (I didn't write it)
https://vldb.org/cidrdb/2023/kuzu-graph-database-management-...
You can judge for yourself what work has been done in the last 5 months. Many short videos here. New open source contributors who I didn't know before ramping up.
- Aurornis 5 hours agoDoes anyone have any experience with this DB? Or context about where it came from?
From the commit history it's obvious that this is an AI coded project. It was started a few months ago, 99% of commits are from 1 contributor, and that 1 contributor has some times committed 100,000 lines of code per week. (EDIT: 200,000 lines of code in the first week)
I'm not anti-LLM, but I've done enough AI coding to know that one person submitting 100,000 lines of code a week is not doing deep thought and review on the AI output. I also know from experience that letting AI code the majority of a complex project leads to something very fragile, overly complicated, and not well thought out. I've been burned enough times by investigating projects that turned out to be AI slop with polished landing pages. In some cases the claimed benchmarks were improperly run or just hallucinated by the AI.
So is anyone actually using this? Or is this someone's personal experiment in building a resume portfolio project by letting AI run against a problem for a few months?
[-]- jandrewrogers 4 hours agoThat is a lot of code for what appears to be a vanilla graph database with a conventional architecture. The thing I would be cautious about is that graph database engines in particular are known for hiding many sharp edges without a lot of subtle and sophisticated design. It isn't obvious that the necessary level of attention to detail has been paid here.[-]
- adsharma 4 hours agoAre you talking about Andy Pavlo bet here?
https://news.ycombinator.com/item?id=29737326
Kuzu folks took some of these discussions and implemented them. SIP, ASP joins, factorized joins and WCOJ.
Internally it's structured very similar to DuckDB, except for the differences noted above.
DuckDB 1.5 implemented sideways information passing (SIP). And LadybugDB is bringing in support for DuckDB node tables.
So the idea that graph databases have shaky internals stems primarily from pre 2021 incumbents.
4 more years to go to 2030!
[-]- jandrewrogers 3 hours agoI wasn't referring to the Pavlo bet but I would make the same one! Poor algorithm and architecture scalability is a serious bottleneck. I was part of a research program working on the fundamental computer science of high-scale graph databases ~15 years ago. Even back then we could show that the architectures you mention couldn't scale even in theory. Just about everyone has been re-hashing the same basic design for decades.
As I like to point out, for two decades DARPA has offered to pay many millions of dollars to anyone who can demonstrate a graph database that can handle a sparse trillion-edge graph. That data model easily fits on a single machine. No one has been able to claim the money.
Inexplicably, major advances in this area 15-20 years ago under the auspices of government programs never bled into the academic literature even though it materially improved the situation. (This case is the best example I've seen of obviously valuable advanced research that became lost for mundane reasons, which is pretty wild if you think about it.)
[-]- adsharma 35 minutes ago> many millions of dollars to anyone who can demonstrate a graph database that can handle a sparse trillion-edge graph.
I wonder why no one has claimed it. It's possible to compress large graphs to 1 byte per edge via Graph reordering techniques. So a trillion scale graph becomes 1TB, which can fit into high end machines.
Obviously it won't handle high write rates and mutations well. But with Apache Arrow based compression, it's certainly possible to handle read-only and read-mostly graphs.
Also the single machine constraint feels artificial. For any columnar database written in the last 5 years, implementing object store support is tablestakes.
- adsharma 3 hours agoSource: https://www.theregister.com/2023/03/08/great_graph_debate_we...
> There are some additional optimizations that are specific to graphs that a relational DBMS needs to incorporate: [...]
This is essentially what Kuzu implemented and DuckDB tried to implement (DuckPGQ), without touching relational storage.
The jury is out on which one is a better approach.
- justonceokay 4 hours agoYes a graph database will happily lead you down a n^3 (or worse!) path when trying to query for a single relation if you are not wise about your indexes, etc.[-]
- cluckindan 2 hours agoThat sounds like a ”graph” DB which implements edges as separate tables, like building a graph in a standard SQL RDB.
If you wish to avoid that particular caveat, look for a graph DB which materializes edges within vertices/nodes. The obvious caveat there is that the edges are not normalized, which may or may not be an issue for your particulat application.
- adsharma 4 hours agoAre you talking about the query plan for scanning the rel table? Kuzu used a hash index and a join.
Trying to make it optional.
Try
explain match (a)-[b]->(c) return a.rowid, b.rowid, c.rowid;
- gdotv 4 hours agoAgreed, there's been a literal explosion in the last 3 months of new graph databases coded from scratch, clearly largely LLM assisted. I'm having to keep track of the industry quite a bit to decide what to add support for on https://gdotv.com and frankly these days it's getting tedious.[-]
- aorth 2 hours agoFigurative!
- ozgrakkurt 2 hours agoUsing a LLM coded database sounds like hell considering even major databases can have some rough edges and be painful to use.
- hrmtst93837 47 minutes agoSix figures a week is a giant red flag. That kind of commit log usually means codegen slop or bulk reformatting, and even if some of it works I wouldn't trust the design, test coverage, or long-term maintenance story enough to put that DB anywhere near prod.
- arthurjean 3 hours agoSounds about right for someone who ships fast and iterates. 54 days for a v0 that probably needs refactoring isn't that crazy if the dev has a real DB background. We've all seen open source projects drag on for 3 years without shipping anything, that's not necessarily better[-]
- Aurornis 57 minutes ago200,000 lines of code on week 1 is not a sign of a quality codebase with careful thought put into it.
> We've all seen open source projects drag on for 3 years without shipping anything, that's not necessarily better
There are more options than “never ship anything” and “use AI to slip 200,000 lines of code into a codebase”
- mark_l_watson 56 minutes agoI just spent an hour with Grafeo, trying to also get the associated library grafeo_langchain working with a local Ollama model. Mixed results. I really like the Python Kuzu graph database, still use it even though the developers no longer support it.
- satvikpendem 5 hours agoThere seem to be a lot of these, how does it compare to Helix DB for example? Also, why would you ever want to query a database with GraphQL, for which it was explicitly not made for that purpose?
- natdempk 2 hours agoSerious question: are there any actually good and useful graph databases that people would trust in production at reasonable scale and are available as a vendor or as open source? eg. not Meta's TAO[-]
- szarnyasg 1 hour agoThat's a difficult question and I would like to avoid giving a direct answer (because I co-lead a nonprofit benchmarking graph databases) but even knowing what you need for a graph database can be a tricky decision. See my FOSDEM 2025 talk, where I tried to make sense of the field:
https://archive.fosdem.org/2025/schedule/event/fosdem-2025-5...
- adsharma 48 minutes agoWhat people perceive as "Facebook production graph" is not just TAO. There is an ecosystem around it and I wrote one piece of it.
Full history here: https://www.linkedin.com/pulse/brief-history-graphs-facebook...
- cjlm 2 hours agoSerious answer: limiting to just Open Source: JanusGraph, DGraph, Apache AGE, HugeGraph, MemGraph and ArcadeDB all meet that criteria.[-]
- adsharma 44 minutes agoWhat is open source and what is a graph database are both hotly debated topics.
Author of ArcadeDB critiques many nominally open source licenses here:
https://www.linkedin.com/posts/garulli_why-arcadedb-will-nev...
What is a graph database is also relevant:
- Does it need index free adjacency? - Does it need to implement compressed sparse rows? - Does it need to implement ACID? - Does translating Cypher to SQL count as a graph database?
- pphysch 2 hours agoYeah: Postgres, etc.
When you actually need to run graph algorithms against your relational data, you export the subset of that data into something like Grafeo (embedded mode is a big plus here) and run your analysis.
[-]- adsharma 41 minutes agoThat importing is expensive and prevents you from handling billion scale graphs.
It's possible to run cypher against duckdb (soon postgres as well via duckdb's postgres extension) without having to import anything. That's a game changer when everything is in the same process.
- cjlm 2 hours agoOverwhelmed by the sheer number of graph databases? I released a new site this week that lists and categorises them. https://gdb-engines.com[-]
- dbacar 1 hour agoDid you generate the list using an LLM?
- cluckindan 2 hours agoThe d:Document syntax looks so happy!
- OtomotO 3 hours agoInteresting... Need to check how this differs from agdb, with which I had some success for a sideproject in the past.
https://github.com/agnesoft/agdb
Ah, yeah, a different query language.
- measurablefunc 4 hours agoThis looks like another avant-garde "art" project.
- takahitoyoneda 2 hours ago[dead]
- aplomb1026 3 hours ago[dead]
- nexxuz 3 hours agoI was ready to learn more about this but I saw "written in Rust" and I literally rolled my eyes and said never mind.[-]
- ComputerGuru 2 hours agoI think "written by genAI" should be a bigger turnoff than "written in Rust".[-]
- andriy_koval 2 hours agoalternative opinion:
* it is possible to write high quality software using GenAI
* not using GenAI could mean project won't be competitive in current landscape
[-]- quantumHazer 2 hours ago> not using GenAI could mean project won't be competitive in current landscape
why? this is false in my opinion, iterating fast is not a good indicator of quality nor competitiveness
- Aurornis 56 minutes ago> * it is possible to write high quality software using GenAI
From examine this codebase it doesn’t appear to be written carefully with AI.
It looks like code that was promoted into existence as fast as possible.
- chuckadams 2 hours agoToo bad you don't do the same for commenting on HN.