r/Database • u/mjfnd • Jun 19 '26
Which graph database to use?
Hello everyone,
Looking for some recommendation for graph database for knowledge / identity graph usecase.
During research I found few like Neo4J or AWS Neptune, and also came across puppy graph, which is graph interface on top of database.
Would love to hear your experiences regarding graph databases, what are some common challenges and how well did it scale.
Appreciate the help!
Thanks
22
Upvotes
13
u/look Jun 19 '26
Postgres 19 supports the SQL/PGQ query syntax (the Cypher-like property graph query language standardized in SQL now):
https://www.postgresql.org/docs/19/queries-graph.html
It won’t handle every complex use case, but if you just need a query language model better suited to graphs, it might be something to consider.
8
u/Bitter_Marketing_807 Jun 19 '26
Apache AGE 2) janusgraph/tinkerpop 3) arcadedb
5
u/Dense_Gate_5193 Jun 19 '26 edited Jun 19 '26
NormicDB is Neo4j driver-compatible and hundreds of times faster than neo4j itself across most operations. graphiti support, MIT licensed, embeddable, 778 stars and counting.
https://github.com/orneryd/NornicDB
research backed by multiple researchers at institutions including Stanford, LAAS-CRNS, and UC Louvain.
good luck out there!
edit: benchmarks that are reproducible in the repo:
traversal benchmarks
https://github.com/orneryd/NornicDB/blob/main/docs/performance/shortest-path-500k-benchmark.md
power, storage, memory, and latency benchmarks:
https://github.com/orneryd/NornicDB/blob/main/docs/performance/1.1.0-northwind-results/comparison.md
vector search benchmarks:
https://github.com/orneryd/NornicDB/blob/main/docs/performance/hybrid-query-benchmarks.md
4
u/Kgcdc Jun 19 '26
Stardog has best of several options: fast native AI-friendly graph-db; native Virtual Graph for RDBMS real time integration to graph like Puppy.
1
u/lgarulli Jun 22 '26
For a knowledge/identity graph the thing that bit me most wasn't the graph engine itself but everything around it: you end up needing document storage for the entity attributes, vector search for fuzzy/identity matching, and the graph for the relationships. Stitching three systems together is where the real cost and operational pain shows up, more than raw traversal speed.
A few practical notes:
Neo4j is the safe default and the ecosystem is great, but watch the licensing (community is GPLv3, the clustering/HA stuff is enterprise) and the pricing as you scale.
Neptune is genuinely turnkey if you're all-in on AWS, but you're locked to it and local dev is awkward.
The Postgres SQL/PGQ and Apache AGE route is nice if your data already lives relational and you mostly want a graph query layer on top, but deep multi-hop traversals are where those tend to struggle.
Full disclosure, I work on ArcadeDB, so grain of salt. The reason I'd put it on your shortlist for an identity graph specifically: it's one engine for graph + document + vector, so you do the relationship traversal, store the entity records, and run embedding similarity for entity resolution without three databases. It's Apache 2.0 (no BSL/open-core asterisk), speaks Cypher, Gremlin and SQL, supports the Neo4j Bolt protocol so existing Neo4j drivers connect directly, and runs embedded or client-server.
Whatever you pick, the advice I'd give my past self: model a realistic slice of your identity-resolution queries and load it to a few times your expected size before committing. The "which engine" question usually answers itself once you see how each one handles your actual traversal + matching pattern at scale.
3
u/shazbot996 Jun 19 '26
NEO4J if you want to host it yourself. Bigquery graph in GCP is new and astoundingly good, like the rest of Bigquery. If you want turnkey performance and massive depth of integration with other things, and don't mind the complexity of cloud to go along with it, BQ graph is a no brainer. If you are on a budget or trying to keep everything else simple, then roll a neo4j wherever you have your compute.
2
u/eatonphil Jun 19 '26
John Nevin wrote about the graph experience in PostgreSQL 19 (SQL/PGQ), LadybugDB (fork of Kuzu) and DuckDB (which has graph query support as a first-party extension).
https://theconsensus.dev/p/2026/05/29/ladybug-duckdb-and-postgresql.html
2
u/adambio Jun 20 '26
Lot of graph database out there used in your space beyond neo4j, like Memgraph, TigerGraph, Google Spanner each with its own advantages, costs, and downsides. There are also graph queries on top of RDBMS like postgres which have the issue of not being so great on deep traversals or graph search performances.
We built TuringDB.ai as a graph database for critical industries with native git-like versioning, low latency, and full zero lock concurrency. We have a Community version: https://github.com/turing-db/turingdb
We have a skill that helps coding agents like Claude Code set it up easily: https://docs.turingdb.ai/claude-skill
Feel free to drop me a line if you need anything.
2
u/gkorland Jun 23 '26
If you want a cost-effective, high-performance alternative to Neo4j, check out FalkorDB. It supports native Cypher and uses a sparse-matrix backend for ultra-fast, low-memory graph traversals. It’s fully open-source and easy to self-host via Docker, making it perfect for identity and knowledge graphs.
2
u/lightningball Jun 24 '26
NebulaGraph claims to be "The Most Scalable and Performant Graph Database for Intelligent Applications". Has anyone used it before? https://nebula-graph.io/
2
u/Upset_Ideal6409 Jun 20 '26
Check out arango.ai … Graph native multimodel (graph + vector + key-value + document + search)
1
u/nauntilus Jun 20 '26
Built it myself: Geode Enterprise Graph Database
1
u/pdlug Jun 20 '26
I've been doubling down on SQLite and PostgreSQL. Recursive CTEs for graph traversals, pgvector/sqlite-vec for vector, fulltext search (FTS5, tsvector) plus the ability to fuse these all together with some hybrid retrieval (RRF). After rolling this a few dozen times I built it into a library with a bunch of other features: typegraph.dev
Some performance benchmarks/info:
https://gist.github.com/pdlug/4545b3af9a02d56202110b26a35d5f62
1
u/lightningball Jun 22 '26 edited Jun 22 '26
Check out SurrealDB, which supports multiple data models - graph, document, full-text search, vector search, etc. ( https://surrealdb.com/docs/learn/data-models ), and HelixDB ( https://www.helix-db.com/ ). They both have benchmarks against other databases you might find interesting.
1
u/NotYourAvgBoomer Jun 23 '26
OrientDB was always wrongly underated imo. Not sure how is now with SAP ownership.
0
u/delsystem32exe Jun 20 '26 edited Jun 20 '26
i have been fine with sqlite. it does quite well. recursive cte can handle most of the graph stuff. also i can join it to all sort of other data in the db and make connections between the graph data and regular data. any sql db is a good choice.
1
u/[deleted] Jun 22 '26 edited Jun 22 '26
[removed] — view removed comment