Queries and Storage Questions



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,

(Michel Conrado (Support Engineer)) #2

All you need about this https://blog.dgraph.io/post/v0.9/
and https://blog.dgraph.io/post/badger-txn/

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 https://blog.dgraph.io/post/bulkloader/ (this is abour bulk only) and https://blog.dgraph.io/post/badger-lmdb-boltdb/ (this is about badger)

and there is https://docs.dgraph.io/design-concepts/


(Daniel Mai) #3

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.