Streaming data in Postgres to 1M clients with GraphQL

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Hasura

    Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.

  • They're all similar flavors of producing realtime results - which take similar, but different, methods to their approach.

    My understanding (please feel free to correct me if I'm wrong):

    - Supabase Realtime uses WAL.

    - Hasura Streaming Subscriptions uses an append-only query (could also use WAL).

    - Hasura Live Queries uses interval polling, refetching, and multiplexing.

    - Supabase uses Postgres RLS for authorization, while Hasura uses an internal RLS system which composes queries (which allows for features like the multiplexing above).

    - All 3 use websockets for their client communication.

    Supabase Realtime

    https://github.com/supabase/realtime#introduction

    https://supabase.com/docs/guides/realtime

    Hasura Subscriptions

    https://github.com/hasura/graphql-engine/blob/master/archite...

    https://github.com/hasura/graphql-engine/blob/master/archite...

  • graphql-bench

    A super simple tool to benchmark GraphQL queries

  • Has anyone come across neat tools for load-testing streaming APIs?

    We used https://github.com/hasura/graphql-bench and a set of scripts to monitor runtime characteristics of Hasura and Postgres, and reconciliation to make sure data was received as expected and in-order.

    But would love to see if there's other tools that folks have come across!

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • materialize

    The data warehouse for operational workloads. (by MaterializeInc)

  • Unfortunately, Materialize has a pretty restrictive license.

    https://github.com/MaterializeInc/materialize/blob/main/LICE...

    I'm generally pretty happy to pay for open source software, but licensing like this is just too risky. I need to be able to experiment with something at scale, in production, before I start paying someone.

  • realtime

    Broadcast, Presence, and Postgres Changes via WebSockets

  • They're all similar flavors of producing realtime results - which take similar, but different, methods to their approach.

    My understanding (please feel free to correct me if I'm wrong):

    - Supabase Realtime uses WAL.

    - Hasura Streaming Subscriptions uses an append-only query (could also use WAL).

    - Hasura Live Queries uses interval polling, refetching, and multiplexing.

    - Supabase uses Postgres RLS for authorization, while Hasura uses an internal RLS system which composes queries (which allows for features like the multiplexing above).

    - All 3 use websockets for their client communication.

    Supabase Realtime

    https://github.com/supabase/realtime#introduction

    https://supabase.com/docs/guides/realtime

    Hasura Subscriptions

    https://github.com/hasura/graphql-engine/blob/master/archite...

    https://github.com/hasura/graphql-engine/blob/master/archite...

  • risingwave

    Scalable Postgres for stream processing, analytics, and management. KsqlDB and Apache Flink alternative. 🚀 10x more productive. 🚀 10x more cost-efficient.

  • falcor

    A JavaScript library for efficient data fetching

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