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

electric-sql/legacy-vaxine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.