Evolve to Multi-model Database


When a DB only adheres to one paradigm you will need multiple DB depending on the paradigm for each use case with the same data. So it would be good to have a multi-model approach so you can use one DB with the best format the data and analysis.


This sounds similar to: Discussion on pluggable architecture for Dgraph's storage engine

This is quite the opposite. Instead of storage engine I am saying the user facing part can be flexible. E.g. https://www.arangodb.com/, http://www.aerospike.com/.

Since you are going for performance it might make sense to benchmark commit to commit against the likes of: Aerospike, MapD, Scylladb, Rethinkdb,Memsql, Kodesoftware, Actian Vector, Exasol, Vitessedata, Citusdata, Pipelinedb. At least the open source / freely available HPC DBs.

Sorry, that’s not the intent of building Dgraph. We plan to stick to Graph like usage. We think it’s best when a database does one thing and one thing only.

Doing a benchmark against all these other databases takes time and effort. We don’t have such will or such engineering resources.

There is a Github issue to benchmark Dgraph against Cayley which most people compare us against. We’re looking for a contributor to take that on.

Aerospike is very flexible model and one of the fastest (if not the fastest) DBs around. I was just thinking if dgraph will become any faster.

Dgraph is looking to be a distributed Graph database, where as Aerospike works well for where the data can be represented in key, value pairs efficiently.

In my opinion, they are not really comparable at all. A more apt comparison will be with Neo4j (though it is not natively distributed).