TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Which graph database would you advice?

14 pointsby jennooover 8 years ago
In terms of scalability, reliability and performance? And what are your thoughts about implementing a graph inside e.g. PostgreSQL or Cassandra?<p>The graph will contain roughly about 150.000 vertexes, around 50.000 of those are highly connect between the other 100.000, expecting around 2.500.000 edges in between. The 100.000 vertex will almost all be updated daily. The graph will be used for OLTP workloads, expecting around 10 q&#x2F;s. Queries will resolve the similarity (one-to-many).

12 comments

mindcrimeover 8 years ago
If I were doing a lot of graph specific stuff, where it was crucial to store the graph itself, I&#x27;d definitely go with a pure graphdb over trying to shoe-horn it into a relational db, or even Cassandra. It&#x27;s hard to give a real precise answer without more info, but Neo4J is probably a good starting point unless your requirements are real specific in some way that isn&#x27;t compatible with Neo4J.<p>You should probably also ask if you really need a graph <i>database</i> or if you just need to use a graph <i>processing engine</i> (like Giraph) to perform graph operations on data that can be extracted from elsewhere.
PaulHouleover 8 years ago
The main concern I would have is over the OLTP requirement.<p>A well-built analytics system should be able to start from the raw data and rebuild if you trash it, thus would not be so concerned about transactions, consistency, etc.<p>For online transactions at the volume you are describing, however, you don&#x27;t want a glitch to break the app, so the first question in my mind is what the story is for concurrent access and updates to the DB.<p>I build systems big enough to break Neo4J but as others mention, it works just fine for graphs your size.
fratlasover 8 years ago
I&#x27;m only speaking from experience, but I quite liked Neo4J. I had ~50M edges and as long as you get the Cypher command right, it&#x27;s amazingly fast. The web GUI is slick and very helpful, and it&#x27;s got a community edition!
评论 #13477026 未加载
janemanosover 8 years ago
You could also have a look at ArangoDB. Open-source with Apache2, Cpp-based and some neat features like Foxx framework. It&#x27;s open-source with Apache2 license and I have to say their support is pretty impressive. Worth giving it a spin.
erichoceanover 8 years ago
It&#x27;s straightforward to build a graph database using LMDB, the performance is excellent, and it supports transactions, online backups, etc.<p>If you don&#x27;t mind Java, Neo4J is another good choice.
PaulHouleover 8 years ago
It would help if you&#x27;d share something about: (i) data shape and size, (ii) expected query load, (iii) expected update schedule, (iv) transactional vs analytic nature, etc.
评论 #13475358 未加载
DeShadowover 8 years ago
ArangoDB is very suitable for you. It&#x27;s a multi-model database (key-value, document, graph).<p>Your data size is not big and can very fast handled on one machine.
emocinover 8 years ago
As long as what you are doing is data that makes sense for a graph, I&#x27;d go with neo4j. We use it at work with great success.
solisoftover 8 years ago
+1 for ArangoDB
madgumbyover 8 years ago
Datastax
adamb_over 8 years ago
Neo4j
doozyover 8 years ago
OrientDB