Skip to content
Peter Cline edited this page Feb 25, 2014 · 16 revisions

Sirius is a library for distributing and coordinating data updates amongst a cluster of nodes. It handles building an absolute ordering for updates that arrive in the cluster, ensuring that all nodes are in sync, and persisting the updates on each node. These updates are generally used to build in-memory data structures on each node, allowing applications using Sirius to have direct access to native data structures representing up-to-date data. Sirius does not, however, build these data structures itself -- instead, the client application supplies a callback handler, which allows developers using Sirius to build whatever structures are most appropriate for their application.

Said another way: Sirius enables a cluster of nodes to keep developer-controlled in-memory data structures in sync and up-to-date, allowing I/O-free access to shared information.


For a hands-on guide to setting up a basic Sirius cluster, we recommend reading the Getting started with Sirius page. The details for Sirius configuration are on the Configuring Sirius page. Advanced deployment details are in the How to deploy Sirius page. For those who wish to delve into the technical details of the system the How Sirius works page is the starting point for exploring the internal details.