Hacker News new | ask | show | jobs
by bulldoa 2519 days ago
Can anyone recommend readings on what are the trade offs between graph database vs key value (whether its column base cassandra, or key value base aerospike...etc) and traditional acid compliant db (postgresql)
2 comments

Depends how much time you have...

Fifteen minutes: “How to Choose a Database” by Ben Anderson (https://www.ibm.com/cloud/blog/how-to-choose-a-database-on-i...)

Three hours: Jepsen analyses of distributed systems safety. Kyle tests software ranging across the database spectrum.

One week: Designing Data-Intensive Applications by Martin Kleppman.

Disclaimer: I work with Ben and think he takes a really nice tact on this subject, while it may be orthogonal to your immediate question regarding trade-offs.

Thanks for sharing these, cool handle name btw :)
The line isn't drawn between graph/kv and acid compliance. Dgraph claims to be both a graph database and ACID.
On the topic of ACID, Dgraph is the only graph DB (AFAIK) which has gone through Jepsen testing for its distributed transactional ability. Note that Dgraph passes all of them in the latest releases. And provides MVCC, snapshot isolation with linearizable reads.

http://jepsen.io/analyses/dgraph-1-0-2

FaunaDB passed. It also has GraphQL.
quoted from http://jepsen.io/ "We analyzed Dgraph, a distributed graph database, and identified numerous deadlocks, crashes, and consistency violations, including the loss and corruption of records, even in healthy clusters. Dgraph addressed many of these issues during our collaboration, and continues to work on remaining problems."
Yes, we fixed all those issues and we're currently rerunning all of the jepsen tests on our new release coming up in a couple of weeks.

Working with Kyle is always a pleasure, so we definitely don't discard having him have another look at our database in a bit - once there have been enough changes to it that our trust on the project is not where it should.