9 ms·
What this tells me is that the graph db space has a lot of room in it for someone to come along and make a kick ass product, because honestly every time I've ha
by Grimm1 5y ago
What this tells me is that the graph db space has a lot of room in it for someone to come along and make a kick ass product, because honestly every time I've had a problem a graph db can solve I remember I basically only have a few mediocre choices to choose from.
Neo4J has been very meh in my experience, but they are the biggest.
- The_rationalist 5y agoWhat make you consider Tinkerpop mediocre?
- Grimm1 5y agoHonestly I never heard of it, I had a few in mind but that wasn't one. I'll give it a try next time I need a graph db maybe it can scratch my itch so to speak. My concerns basically range around memory consumption, query language and language ecosystem. Edit: Oh and I guess around like functional extensibility. The last time I used a graph DB I had to export from the db itself to HDFS and use Spark to do things like PageRank and I'd rather be able to write that natively in their query lang or some like UDF equivalent.
- jexp 5y agoThat's what you can do in Neo pretty easily. The DS library offers a bunch (50+) algorithms to run on the graph data directly or projected, e.g. PR on 117M wikipedia links runs in 20s.
- Grimm1 5y agoI've had bad experience with Neo4J's memory consumption so I'm wary of that to be honest. I don't disagree that it has those things but we actively chose to go against it because of past issues with resource usage.
- nick_ 5y agoHave you checked out RedisGraph extension for Redis?
- azinman2 5y agoRedis is memory-backed, so you have limitations here. When I think of neo4j and its equivalents, it's about super giant datasets that are beyond memory limits.
- aserafini 5y agoRedis also supports ‘Redis on Flash’ (use SSDs to augment RAM), but it is part of their Enterprise product.
- thanatos519 5y agoYes. The performance is an order of magnitude better than Neo4J, but it lacks feature parity.
- feu 5y agoDo you have any opinions on ArangoDB or Dgraph? My new tech lead is talking about switching from MongoDB to one of those.
- rch 5y agoDgraph looks solid and has been coming up more often lately.
- busterarm 5y agoIt has slightly worse performance but it's a much nicer application to use.
- handrous 5y ago> My new tech lead is talking about switching from MongoDB to one of those. File under, "not sure if a very good joke, or serious". I'm leaning toward the former. "New tech lead" is the give-away (or is it?).
- dkarras 5y agoSo... what is wrong with them? I've only had very good experience with ArangoDB.
- handrous 5y agoNew tech lead pushing switching an existing product from infamously-cargo-culted MongoDB, of the much-hyped-but-now-passed Document Databases Are The Future wave, to either of a couple products in the current "X database architecture is The Future" wave? Does that not read like it could just as well be straight-faced parody, as real? The products may be fine, so far as they go, that's not what I'm trying to puzzle out here.
- xtracto 5y agoIn my experience MongoDB has only given me problems (either performance or data loss). Most likely when someone wants so "solve" something with MongoDB, there is always a better technology to do it (Cassandra, ScyllaDB, S3!, PostgreSQL/JSONB). I could Imagine that their current implementation has a half modeled graph-like structure in MongoDB and migrating to something else (I am generally against Neo4J because of their horrible pricing tiers).
- spriggancg 5y agoI discovered that there is a fork of a previous Neo4j enterprise version known as ONgDB. Don't know if it will have a sufficient pool of maintainers to fix and make evolve such a product. But at least it remains fully open source.(Neo4J enterprise version open source code has been removed..)
- hsaliak 5y agoThat’s DGraph
- dfraser992 5y agoI investigated using Neo4j back in 2010 for storing the schedules/routes of ocean shipping freight companies, forwarders, etc. The first cut of the system stored the schedule data in a graph like way in MySQL, but to do recursive SQL queries (needed for the types of queries being performed) was annoying. Things worked well enough, but a graph database would have resulted in a much more logical representation of the data structures being used - and the code behind the queries easier to develop. That said, the 2nd system never got off the ground, I quit the badly run startup before finishing it. And now that I have a bit more experience with Neo4j, I'd say it would have been a bear to fully implement. Java is too heavy and Neo4j is a memory pig. It works, I can't say it is bad or perhaps iffy like Tinkerpop, but it is "Enterprise Software" and everything that is associated with that meme. I have been using Tigergraph for my latest research into modeling the schedules etc of rail transport. It is much faster than Neo4j, requires far less memory (I can store every bit of data I need to in it unlike with Neo4 (would need multiple 64GB of RAM servers)), and its programming language is pretty nice once you get the hang of it. So I'd recommend Tigergraph. The downside is that it is not as 'plug and play' as Neo4j, does not has all the mindshare/fancy bells and whistles, and is entirely C++/Unix based. So having some UNIX sysadmin experience is helpful unless you want to use their cloud solution.
- zozbot234 5y ago> to do recursive SQL queries (needed for the types of queries being performed) was annoying. Things worked well enough, but a graph database would have resulted in a much more logical representation of the data structures being used I think there's plenty of room to disagree with this view that modeling graph data in SQL is not "logical enough". Though to be fair, there seems to be some ongoing work on adding some "property"-based layer to bare SQL in order to make common graphs-and-properties oriented queries a bit more ergonomic.
- dfraser992 5y agoFor what I was doing, and how I was doing it, working with graph structures directly with Cypher would have been easier. Perhaps "logical" is the wrong word; my intent was to relay my specific experience, not express a general "principle".
- jonahss 5y agoRedis has an official graph module called RedisGraph. Check it out.