pg_crdt VS y-supabase

Compare pg_crdt vs y-supabase and see what are their differences.

pg_crdt

POC CRDT support in Postgres (by supabase)

y-supabase

Supabase Provider for Yjs (by AlexDunmow)
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
pg_crdt y-supabase
3 1
366 107
0.0% -
10.0 0.0
over 1 year ago 9 months ago
Rust TypeScript
PostgreSQL License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

pg_crdt

Posts with mentions or reviews of pg_crdt. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-18.
  • CRDT-richtext: Rust implementation of Peritext and Fugue
    17 projects | news.ycombinator.com | 18 May 2023
    Cool, I'll check out your repos. Supabase also as Postgres CRDT (https://github.com/supabase/pg_crdt).

    But, in general, I think searching in and across documents and database storage is going to a thorny problem even with existing, hyper-optimized CRDT algorithms. For example, if you just store your Yjs document as a binary blob in a Postgres column, Postgres becomes the bottleneck and all the fancy range-tree or b-tree optimizations are no longer that helpful on the server. Plus, it'd be great to have an document edit just be a tiny insert into the database that can be streamed to other clients rather than a big row update.

    This all may because the focus of CRDTs seems to be rooted in a fully decentralized, P2P system but many developers want collaborative text editing in a more traditional client-server model.

  • A Yjs provider that uses Supabase Realtime for synchronization. Feedback / suggestions welcome.
    2 projects | /r/Supabase | 5 Feb 2023
    I'm part of the Supabase Realtime team. Thanks for doing this! We've been wanting to do it internally ever since launching Broadcast. We've also been experimenting with what a very integrated CRDT solution looks like (e.g. pg_crdt).
  • Show HN: Pg_CRDT – an experimental CRDT extension for Postgres
    4 projects | news.ycombinator.com | 10 Dec 2022
    This is an experimental extension for CRDTs, `pg_crdt`[0]. It supports Yjs/Yrs and Automerge.

    The linked blog post describes how we're thinking about this extension in a Supabase context. Ideally this "Show HN" generates some discussion/interest, both here and in the github discussions [1].

    I want to emphasise this part from the blog post[2]: "pg_crdt has not been released onto the Supabase platform (and it may never be). We’re considering many options for offline-sync/support and, while CRDTs will undoubtedly factor in, we’re not sure if this is the right approach."

    [0] GitHub repo: https://github.com/supabase/pg_crdt

    [1] Discussions: https://github.com/supabase/pg_crdt/discussions

    [2] Blog post: https://supabase.com/blog/postgres-crdt

y-supabase

Posts with mentions or reviews of y-supabase. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-05.

What are some alternatives?

When comparing pg_crdt and y-supabase you can also consider the following projects:

electric - Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.

electric_dart - A Dart implementation for Electric (electric-sql.com).

fugue-bench - Fugue list CRDT implementations and benchmarks

multiversion-concurrency-contro

crdt-benchmarks - A collection of CRDT benchmarks

yjs-pg-test - Test combining yjs and PostgreSQL using plv8 and plv8ify

hash-db - Experimental distributed pseudomultimodel keyvalue database (it uses python dictionaries) imitating dynamodb querying with join only SQL support, distributed joins and simple Cypher graph support and document storage

eventually-consistent-mesh - an attempt to create an asynchronously replicated append only eventually consistent data protocol

yjs-sqlite-test - Test combining yjs and sqlite wasm

automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.

crdt-richtext - Rich text CRDT that implements Peritext and Fugue