Re: New user-JanusGraph consistency with Cassandra


David Pitera <piter...@...>
 

Hey Stephen,

The first source of information on this can be grabbed directly from the JanusGraph documentation http://docs.janusgraph.org/latest/tx.html: 

```
JanusGraph transactions are not necessarily ACID. They can be so configured on BerkleyDB, but they are not generally so on Cassandra or HBase, where the underlying storage system does not provide serializable isolation or multi-row atomic writes and the cost of simulating those properties would be substantial.
```

With that in mind, I think if you set your Cassandra cluster such that reads/writes are set to QUORUM/ALL and all transactions lock on writes, then I _believe_ you would get what you are looking for in terms of pure "Consistency", of course at the expense of horribly low write-throughput. 

I can see a viable use case for such a work flow, i.e. tons of Reads, barely any writes, but the reads need to be consistent when the data does change, even if not often.

However, I would be careful of the isolation of your transactions; Cassandra transactions are not isolated across row mutations. So I believe committed and rolled back transactions will result in consistent reads, I am not convinced that you will not see something like stale reads, etc due to isolation limitations.

On Tuesday, July 11, 2017 at 7:28:58 AM UTC-4, Stephen Horton wrote:
Hello,
I am evaluating Janusgraph for a project. If backed with Cassandra and set to Quorum or ALL consistency in Cassandra config, and if I use transactions with consistency locking for all of my writes, what consistency issues do I need to consider and be aware of if running a cluster of 20-30 Cassandra instances?
Thank you!
Stephen

Join janusgraph-users@lists.lfaidata.foundation to automatically receive all group messages.