crdt-richtext
eventually-consistent-mesh
crdt-richtext | eventually-consistent-mesh | |
---|---|---|
2 | 2 | |
262 | 2 | |
0.8% | - | |
7.7 | 6.4 | |
12 months ago | 8 months ago | |
Rust | Python | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
crdt-richtext
eventually-consistent-mesh
-
The growing pains of database architecture
https://github.com/samsquire/eventually-consistent-mesh/blob...
I wrote a Jepsen test that because it is not linerarizable, it fails.
My script abandons the C(onsistency) of CAP and maintains (A)vailability and (P)artition tolerance. It assumes the network shall heal and the replication shall resume. In PACELC theory in During normal operation it prefers Availability during Partitions and Else Latency in normal operations.
How do you build a system around a database where values can no longer be valid at any time? If I kick off a process in the database with a value that was only reported by one replica that was partitioned away from the majority of the network, what do I do?
My immediate thoughts are to create dependency relationships to values that are on the agreed path, data that is based on a failed branch is not valid.
https://github.com/samsquire/eventually-consistent-mesh
-
CRDT-richtext: Rust implementation of Peritext and Fugue
https://github.com/samsquire/eventually-consistent-mesh
I implemented an barebones toy SQL and Graph cypher and document storage database
What are some alternatives?
y-sweet - A standalone yjs server with persistence to S3 or filesystem.
electric_dart - A Dart implementation for Electric (electric-sql.com).
pg_crdt - POC CRDT support in Postgres
fugue-bench - Fugue list CRDT implementations and benchmarks
crdt-benchmarks - Real world text editing traces for benchmarking CRDT and Rope data structures [Moved to: https://github.com/josephg/editing-traces]
yjs-sqlite-test - Test combining yjs and sqlite wasm
multiversion-concurrency-contro
yjs-pg-test - Test combining yjs and PostgreSQL using plv8 and plv8ify
text-diff - a python implementation of diff3 and three way merge