A Gentle Introduction to CRDTs

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • cr-sqlite

    Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite

    The linked projects (https://vlcn.io and https://github.com/vlcn-io/cr-sqlite) are both extremely impressive, and open up the possibility of adding "multiplayer" to smaller projects that rely on SQLite for local storage—including web apps, via a WASM build of SQLite.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Strut

    Strut - An Impress.js and Bespoke.js Presentation Editor

    Yep! That was one plan for deploying cr-sqlite to a server.

    D1, unfortunately, doesn't support loading extensions into SQLite.

    fly.io, and their replicated sqlite solution, does however!

    I've been using fly.io to run cr-sqlite in the cloud and act as a sync server for non peer to peer use cases. Eventually I'll have finished up a re-write of strut.io[1] atop vlcn/cr-sqlite which'll serve as a good end to end example of how to make applications with this sort of architecture.

    Some discussion about this setup on their forums: https://community.fly.io/t/litefs-many-tens-to-hundreds-of-t...

    [1] https://github.com/tantaman/strut

  • Pentive

    Collaborative Spaced Repetition

    I'm using cr-sqlite right now in my Anki clone: https://github.com/AlexErrant/Pentive

    It's basically an offline-first flashcard webapp. CR-Sqlite allows for incremental syncing.

    With Anki (the app from which I'm taking my inspiration), syncing is _not_ incremental - basically it just copies SQLite files around. So for example, the app could be on an iPhone with cards a card `A` reviewed, but the app on an iPad could make changes to the template on which card `A` is based, and that's enough to cause a conflict - you must take changes from only the iPad or only the iPhone. (To be clear - Anki does have some incremental syncing capabilities - I'm picking an intentionally pathological example.) CR-SQLite will mean that everything is incremental, however.

    Basically makes 3 way merges a breeze (or n-way merges, really).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • How to Add Owl Carousel in Your Next.js Project

    1 project | dev.to | 11 Jun 2024
  • 6 carousel components for modern frontend languages

    9 projects | dev.to | 28 May 2024
  • Da un marker leaflet alla foto in una galleria fotografica e ritorno

    2 projects | dev.to | 22 May 2024
  • From leaflet popup marker to photo gallery image and back

    3 projects | dev.to | 22 May 2024
  • My Rules for Being a Tech Speaker

    3 projects | dev.to | 13 Jan 2024

Did you konow that TypeScript is
the 2nd most popular programming language
based on number of metions?