Skip to content
This repository has been archived by the owner on Jun 2, 2022. It is now read-only.

Latest commit

 

History

History
44 lines (29 loc) · 1.77 KB

README.md

File metadata and controls

44 lines (29 loc) · 1.77 KB

Vaxine

Welcome to the Vaxine repository!

Vaxine provides rich-CRDT features on top of Antidote Antidote.

Vaxine extends Antidote with a relational-oriented data-model, the ability to maintain invariants, a query language and real-time subscriptions service. Vaxine enables developers to create applications that are scalable and maintain consistency, without making the typical availability sacrifices of CP systems.

Applications built on top of Vaxine offer:

  • Geo-distributed deployments
  • Multi-writer, low-latency writes
  • Integrity constraints
  • Real-time update subscriptions

Vaxine architecture

vaxine-components

Vaxine is divided in three main components:

  • Data: we provide a relational data-model with expressive querying capabilities.
  • Reservations: Provides concurrency control mechanisms that can ensure data integrity with high availability.
  • Subscriptions: Stream replication changes with ordering guarantees, persistence and efficient payload propagation.

Stay tuned as we improve this document with more details and instructions to install and deploy Vaxine.

Installation

If available in Hex, the package can be installed by adding vaxine to your list of dependencies in mix.exs:

def deps do
  [
    {:vaxine, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/vaxine.