{"repo":"vlcn-io/cr-sqlite","free":true,"listed":false,"github":"https://github.com/vlcn-io/cr-sqlite","clone":"git clone https://github.com/vlcn-io/cr-sqlite.git","description":"Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite","language":"Rust","stars":3766,"topics":["crdt","database","sqlite"],"license":"MIT","category":"databases-storage","readme_excerpt":"cr-sqlite - Convergent, Replicated, SQLite A component of the vulcan project. Examples Example applications using cr-sqlite to sync state. - Vite starter - Example Repository - TodoMVC - Example Repository - Svelte Store - Tutorials - WIP Local-First Presentation Editor - Basic setup & sync via an Observable Notebook \"It's like Git, for your data.\" CR-SQLite is a run-time loadable extension for SQLite and libSQL. It allows merging different SQLite databases together that have taken independent writes. In other words, you can write to your SQLite database while offline. I can write to mine while offline. We can then both come online and merge our databases together, without conflict. In technical terms: cr-sqlite adds multi-master replication and partition tolerance to SQLite via conflict free replicated data types (CRDTs) and/or causally ordered event logs. When is this useful? 1. Syncing data between devices 2. Implementing realtime collaboration 3. Offline editing 4. Being resilient to network conditions 5. Enabling instantaneous interactions All of the above involve a merging of independent edits problem. If your database can handle this for you, you don't need custom code in your application to handle those 5 cases. Discussions of these problems in the application space: - Meta Muse - FB Messenger re-write Sponsors Companies: Individuals: robinvasan iansinnott davefowler barbalex MohannadNaj Perf Perf data: https://github.com/vlcn-io/cr-sqlite/blob/main/py/perf/perf.ipynb","default_branch":null,"files":null,"tree":[],"storefront":"/r/vlcn-io","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/vlcn-io/cr-sqlite/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}