All Projects → jemc → Pony Crdt

jemc / Pony Crdt

Licence: mpl-2.0
Delta-State Convergent Replicated Data Types (ẟ-CRDTs) for the Pony language. 🐴 ↔️

Projects that are alternatives of or similar to Pony Crdt

Cs Pdf To Image
a simple library to convert pdf to image for .net
Stars: ✭ 31 (-11.43%)
Mutual labels:  library
Jenkins Library
Shared Library for Jenkine Pipeline
Stars: ✭ 32 (-8.57%)
Mutual labels:  library
Substitution Schedule Parser
Java library for parsing schools' substitution schedules. Supports multiple different systems mainly used in the German-speaking countries, including Untis, svPlan, and DAVINCI
Stars: ✭ 33 (-5.71%)
Mutual labels:  library
Contactlab Ui Components
DEPRECATED - Basic UI components for ContactLab UX design pattern library
Stars: ✭ 31 (-11.43%)
Mutual labels:  library
Datasafe
Datasafe - flexible and secure data storage and document sharing using cryptographic message syntax for data encryption
Stars: ✭ 32 (-8.57%)
Mutual labels:  library
Nim Libsodium
Nim wrapper for the libsodium library
Stars: ✭ 32 (-8.57%)
Mutual labels:  library
Discpp
Simplified, but feature rich Discord API wrapper written in modern C++.
Stars: ✭ 31 (-11.43%)
Mutual labels:  library
Swipebacklayout
SwipeBack is an android library that can finish a activity by using gesture.
Stars: ✭ 977 (+2691.43%)
Mutual labels:  library
Simple Sh Datascience
A collection of Bash scripts and Dockerfiles to install data science Tool, Lib and application
Stars: ✭ 32 (-8.57%)
Mutual labels:  library
Smartisandialog
Smartisan style Dialog.
Stars: ✭ 33 (-5.71%)
Mutual labels:  library
Mod Pbxproj
A python module to manipulate XCode projects
Stars: ✭ 959 (+2640%)
Mutual labels:  library
Restless
Express.js api, type safe validations and more
Stars: ✭ 32 (-8.57%)
Mutual labels:  library
Ron Cxx
RON2.1 C++ implementation
Stars: ✭ 33 (-5.71%)
Mutual labels:  crdt
Core
Runn Me! core library
Stars: ✭ 31 (-11.43%)
Mutual labels:  library
Lib9wada
Wonderful library with lots of useful functions, algorithms and data structures in C, link it with -l9wada
Stars: ✭ 35 (+0%)
Mutual labels:  library
Fillingbutton
🔥Replace typical onLongClickListener with this library!
Stars: ✭ 31 (-11.43%)
Mutual labels:  library
Tina
a powerful android network library base on okhttp
Stars: ✭ 32 (-8.57%)
Mutual labels:  library
Angular Library Starter Kit
Angular 5 Library Starter Kit based on Angular-CLI
Stars: ✭ 35 (+0%)
Mutual labels:  library
Lwc
⚡️ LWC - A Blazing Fast, Enterprise-Grade Web Components Foundation
Stars: ✭ 974 (+2682.86%)
Mutual labels:  library
Rhashmap
Robin Hood hash map library
Stars: ✭ 33 (-5.71%)
Mutual labels:  library

pony-crdt CircleCI

Delta-State Convergent Replicated Data Types (ẟ-CRDTs) for the Pony language.

CRDTs are a special class of data types that can be replicated in a highly-available, partition-tolerant distributed system to yield results that are eventually consistent. That is, with enough message passing, replicas will eventually converge to the same result, even faced with arbitrary partitions.

In order to acheive commutativity and idempotence, these data structures all impose certain constraints that are often more limiting than typical localized data structures, but if you can model all the state in your application in terms of CRDTs, then you can get eventually consistent replication "for free". In practice, this kind of consideration is often a critical step to scaling a highly-available stateful service.

Delta-State CRDTs are special CRDTs that can produce delta-states as a by-product of each mutable operation, where the delta-state may be shipped and converged between peers instead of shipping and converging the entire state, and the convergence of the delta-states retains the same guarantees of eventual consistency. This approach has the benefit of reducing the size of the state that must be transported between peers, making CRDTs more practical for real-world applications.

This package provides CRDTs which may be freely converged using either the full-state or delta-state approach, based on the needs of the application. Every mutable operation returns the corresponding delta-state, and at any time the full-state may be fetched from the data type. So, the application may use the full-state replication approach by ignoring the delta-state return values, or may replicate the delta-state return values in lieu of fetching and replicating the full-state.

This implementation of ẟ-CRDTs is inspired and informed by the following prior work:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].