Queries and Storage Questions

Hi,

I have been investigating Dgraph to see what it can provide, and how it is different from other systems.
After some research I have a few questions remaining:

  1. Can you confirm that Dgraph allows concurrent transactional queries and that queries can be parallelized?

  2. Is it true that Dgraph is geared more towards OLTP than OLAP, more interactive queries than analytics?

  3. I read that you use BadgerDB (key-value store). I assume that is how you store the vertices, however, edges are in RDF format (with properties, however). So do you have a separate RDF storage next to Badger?

  4. These are performance questions: Are edges stored with the vertex-data? Are the edge-properties stored with the edge data?

Thanks for your help,
Emanuel

All you need about this Releasing distributed transactions in v0.9 - Dgraph Blog
and Concurrent ACID Transactions in Badger - Dgraph Blog

Not sure about this statement.

RDF is just a standard (We use to write), all data is recorded in BadgerDB as KV.

hmm, not sure how they’re stored.
But if you wanna know about some perf see Loading close to 1M edges/sec into Dgraph - Dgraph Blog (this is abour bulk only) and Badger vs LMDB vs BoltDB: Benchmarking key-value databases in Go - Dgraph Blog (this is about badger)

and there is Get started with Dgraph

Cheers.

Dgraph is designed for OLTP though it can also be used for OLAP since queries can perform arbitrary depth joins across your data set.

Everything is stored as a posting list in Badger. The posting list structure is covered in the design concepts docs that @MichelDiz linked to earlier.

1 Like