22 comments

[ 3.8 ms ] story [ 59.0 ms ] thread
What other projects can it be compared to and what are the trade offs?
Features: Compliance to Apache TinkerPop 3, supporting Gremlin Schema Metadata Management, including VertexLabel, EdgeLabel, PropertyKey and IndexLabel Multi-type Indexes, supporting exact query, range query and complex conditons combination query Plug-in Backend Store Driver Framework, supporting RocksDB, Cassandra, ScyllaDB and MySQL now and easy to add other backend store driver if needed Integration with Hadoop/Spark
My favorite one is Dgraph

https://dgraph.io/

https://github.com/dgraph-io/dgraph

This is an excellent choice if you are looking for a rock solid scalable graph database.

Its written in Go, which for me is my language of choice for backend scalable fast solutions.

The community is helpful and available.

Plus it uses Badger for long term persistence.

Which is also a big bonus...

https://github.com/dgraph-io/badger

The combination of these two open source projects should definitely be reviewed by anyone considering a new project using graph databases...

One nice thing about Badger is that it is a tool similar to Rocks DB...

So Badger can be used standalone if you want a nice fast key / value DB written in Go as well.

Have you tried Neo4j? If so, I'm curious to know what your experience was like between the two that made you pick Dgraph
Neo4j is a good choice as well and I did use it too. In the end, I chose Dgraph simply because I was curious about understanding in depth the source code and at the time Golang was my language of choice for a deep dive into how to implement a graph database from the ground up.
I took a look at dgraph. It requires you to set up multiple servers just to get up and running. Doesn't have packages for linux distros, etc. If you like it because of go, do you like Cayley as well? It can use multiple backends including common sql servers, bolt and leveldb.
Why https://github.com/hugegraph/hugegraph/commit/cad89c3bafce08... ? Its Ok to copy things from other projects but it seems unnecessary copy it and strip ownership like that then put "Copyright 2017 HugeGraph Authors" on it.
Would this commit not constitute a violation of the original licensing for the code? Attribution is often a requirement for use.
Oh my gosh, did they just straight up steal (copy and remove attribution) from TitanDB?

That has to be the death of this project right now, right? How could they ever monetize? DataStax (who probably owns those copyrights now after having acquired Aurelius) would probably take the acquirer to the cleaners.

And honestly, shame on them. Worst sort of open source behavior...

edit: as someone points out it might be a team in Baidu, too.

I've been reading a lot about this problem specifically with respect to Chinese culture. Insofar as we can say any one thing about a national culture of more than a billion, on the whole, the Chinese simply don't care about attribution, copyright, or plagiarism. It is the view of most folks that it's acceptable to copypaste blocks of content from one thing into another and then call it your own. For anyone else interested, the Academia Stack Exchange is actually one of the best and most interesting places to find real-world stories of people grappling with this problem, and offers some deconstruction in the comments/answers.
The question is no longer to store à lot of nodes/edges. Or be Gremlin compatible. They have become basic requirements. [Btw, as far as I understand, if you are Gremlin compatible, then you are cypher compatible. Can anyone confirm?] But the point is to be innovative feature-wise. For example, I like the :schema feature of Cypher, so you can retrieve in no time the schema of your graph. [That helps understand the data and helps design relevant queries over the data]. Do you provide anything like this?
Sorry, the feature I mention is indeed db.schema
This seems a lot like the cassandra graph database DSE bought and close-sourced... Titan?

Is it very similar?

Nevermind: It appears to be extensively, uh, "derived" from titan.

First we acknowledged our mistakes (deleted authors) and apologized, especially to the authors who contributed to the Tinkerpop, Titan and JanusGraph projects. We will restore author and copyright information as soon as possible. It must be clarified that this is an unintentional loss, and it is by no means intentional.

The HugeGraph project began as an internal project developed to address the needs of the company's security department,based on JanusGraph. Our conventions for development were not adding author information, which may not be a good habit. To be consistent, we deleted all the author information in internal project.

With efforts to improve, HugeGraph is getting better and better, and supporting many projects within our company. We are from open source and we are eager to give back to open source. We chose to make HugeGraph open source. HugeGraph is a comprehensive graph database project with ten subprojects covering every aspects. Unfortunately, we missed this problem in the tedious preparations before open source. But it is by no means intentional. Such as the graphdb-benchmark project, it is based on open source, and then modified, the author information is restored before open source. The author information in the hugegraph subproject has been forgotten to recover, which is undoubtedly a mistake in our work. But we do not intend to do so and will resume as soon as possible.

Open source is an equal exchange of technical personnel around the world, and we welcome everyone to criticize and correct. If we find problems, telling them and helping them in time is better, rather than using other people's mistakes to harm them, even their nation which is not a purely skilled engineer should do.

Thanks to Tinkerpop, thanks to Titan, and thanks to JanusGraph! We hope to work with you to create a better open source environment.