Mixing Causal Consistency and Asynchronous Replication for Large Neo4j Clusters

In this talk we’ll explore the new Causal clustering architecture for Neo4j. We’ll see how Neo4j uses the Raft protocol for a robust underlay for intensive write operations, and how the asynchronous new scale-out mechanism provides enormous capacity for very demanding graph workloads.

We’ll discuss the cluster architecture’s new causal consistency model. Causal consistency is a big leap forward compared to the commonplace eventual consistency which makes it convenient to write applications that use the full capacity of the cluster. In particular we’ll show how despite the mixture of concensus protocols and asynchronous replication, that Neo4j allows users to read their own writes straightforwardly and discuss why this is such a difficult achievement in distributed systems.

For the application developer, we’ll show how Neo4j’s Causal Clustering optimised drivers makes it easy to write applications that scale smoothly from a single server to a large, distributed cluster: a practical motivation for the distributed systems enthusiast.