5 ms·
Alternative:Dgraph https://dgraph.io/ https://dgraph.io/ In architecture and goals it actually closely resembles Dgraph, would love to see an (opinionated) co
by jhoechtl 7y ago
Alternative:Dgraph
https://dgraph.io/ https://dgraph.io/
In architecture and goals it actually closely resembles Dgraph, would love to see an (opinionated) comparison by Manish, the CEO of Dgraph
- w3clan 7y agoI had the very same feeling, dgraph is older and has a larger community plus additional features like: - geospatial features - good speed as it is based on badgerdb key value database and ristello cache library. - http library and other features One of the advantage I saw in nebula graph is security role based access which is not available in dgraph until today. I am very curious about benchmark between nebula graph and dgraph. Also what is storage system used in nebula graph.
- ayorosmage 7y agoACL is an enterprise dgraph feature: https://dgraph.io/support https://dgraph.io/support
- jhoechtl 7y agoGeospatial is on the TODO list
- jamie-vesoft 7y agoGeospatial support has already been merged to the code base. :)
- w3clan 7y agoDgraph has another disadvantage of data redundancy, where data associated with multiple index are stored multiple times for speed. Does nebula also store data multiple time for multiple index?
- campoy 7y agoHi there, out of curiosity what do you mean the data is stored multiple times for speed? We (I work at Dgraph) have data redundancy when you have multiple replicas for a given group - but that's an optional feature. Thanks!
- jamie-vesoft 7y agoThanks for asking! Sorry I missed this question earlier. Nebula doesn't store data multiple times for index. And here's how the indexing works in Nebula Graph: You are allowed to create multiple indexes for one tag or edge type in Nebula Graph. For example, if a vertex has 5 properties attached to it, then you can create one index for each if it's necessary for you. Both indexes and the raw data are stored in the same partition with their own data structure for quick query statement scanning. Whenever there are "where" clause/syntax in the queries, the index optimizer decides which index file should be traversed.
- jamie-vesoft 7y agogeospatial is also available in Nebula Graph.:) As to the storage system, Nebula Graph is based on multi-group raft and RocksDB.
- w3clan 7y agoCan you add support for module based storage system like, if someone wants to use badgerdb or leveldb or any other storage system instead of rocksdb
- jamie-vesoft 7y agoYes, Nebula Graph supports multiple backend storages by design. So theoretically you are able to use whatever storage you want for whichever graph space in Nebula Graph. You may take a look at this article about the design of our storage engine: https://github.com/vesoft-inc/nebula/blob/master/docs/manual-EN/1.overview/3.design-and-architecture/2.storage-design.md https://github.com/vesoft-inc/nebula/blob/master/docs/manual... In 2020 we will be working on more plugins. You may stay tuned if that interests you. :)
- mrjn 7y ago(Manish here) Don't know much about Nebula. Feels quite inspired by Dgraph.
- shermanye 7y ago(Sherman here. I'm the founder of Nebula) Nice to meet you here, Manish. Nebula is actually inspired by the Facebook internal project Dragon (https://engineering.fb.com/data-infrastructure/dragon-a-distributed-graph-query-engine/ https://engineering.fb.com/data-infrastructure/dragon-a-dist...). Fortunately I was one of the founding members of the project. The project was started in 2012. We never heard of dgraph at that time. So I'm not sure who was inspired :-) The goal of Nebula is to be a general graph database, not just a knowledge graph database. There are some fundamental differences between the two. We welcome any positive feedback and technical discussion. We would love to learn to the community and to provide a product which truly satisfies customers' needs.
- jhoechtl 7y ago> The goal of Nebula is to be a general graph database, not just a knowledge graph database. There are some fundamental differences between the two. I am by no means a Graph expert but what are some of the mentioned fundamental differences?