Skip to content
Tommy Barker edited this page Feb 26, 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 cluster nodes eventually receive all updates, 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 eventually consistent, 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.