You are currently browsing legacy 5.0 version of documentation. Click here to switch to the newest 5.1 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

Rachis - RavenDB's Raft Implementation

  • Rachis is the RavenDB's Raft implementation.

  • Definition of Rachis: Spinal column, also the distal part of the shaft of a feather that bears the web.

What is Raft ?

  • Raft is a simple and easy-to-understand distributed consensus protocol.

  • It allows you to execute an ordered set of operations across your entire cluster.
    This means that you can apply a set of operations on a state machine, and have the same final state machine in all the cluster's nodes.
    So any series of events (called a Raft Commands) will be executed in the same order on each node.

  • The Leader Node accepts all the Raft Commands requests for the cluster and handles committing them cluster-wide.
    These Raft Commands are done only if the majority of the nodes in the cluster agreed to it !

Learn More about Raft

What is Rachis ?

Rachis is RavenDB's Raft implementation with the following added features:

  • Support for in memory and persistent large multi-tasks state machines.
  • Reliably committing updates to a distributed set of state machines.
  • Support for voting & non-voting cluster members, see Cluster Toplogy.
  • Dynamic topology, nodes can be added and removed from the cluster on the fly.
  • Managing situations such as handling a Leader timeout and forcing a leader to step down.
  • ACID local log using the Voron Storage Engine.