Figma's Databases team lived to tell the scale

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
  • citus

    Distributed PostgreSQL as an extension

  • I see they don't mention Citus (https://github.com/citusdata/citus), which is already a fairly mature native Postgres extension. From the details given in the article, in sounds like they just reimplemented it.

    I wonder if they were unaware of it or disregarded it for a reason —I currently am in a similar situation as the one described in the blog, trying to shard a massive Postgres DB.

  • foundationdb

    FoundationDB - the open source, distributed, transactional key-value store

  • Actually, Apple does this for iCloud! They use FoundationDB[1] to store billions of databases, one for each user (plus shared or global databases).

    See: https://read.engineerscodex.com/p/how-apple-built-icloud-to-...

    Discussed on HN at the time: https://news.ycombinator.com/item?id=39028672

    [1]: https://github.com/apple/foundationdb https://en.wikipedia.org/wiki/FoundationDB

  • 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
  • Apartment

    Database multi-tenancy for Rack (and Rails) applications

  • I recall a popular rails gem[1] once upon a time that provided multi-tenancy via postgres schemas.

    As it turns out, even the company the initially developed the gem ended up ditching the approach due to some of the issues you outlined above.

    Managing separate schemas feels like one of those nefarious decisions that make things simple _initially_ but get you into a world of hurt when you need to scale. The company is since defunct but they have an article where they discuss why they ditched the approach [2], TL;DR it's too difficult to maintain and scale

    [1] https://github.com/influitive/apartment#tenants-on-different...

  • FerretDB

    A truly Open Source MongoDB alternative

  • if you have postgres, just use https://github.com/FerretDB/FerretDB

  • fdb-record-layer

    A record-oriented store built on FoundationDB

  • FoundationDB is really just a set of structures and tools to build any type of database you want on top of a solid foundation.

    "FoundationDB decouples its data storage technology from its data model. FoundationDB’s core ordered key-value storage technology can be efficiently adapted and remapped to a broad array of rich data models. Using indexing as an example, FoundationDB’s core provides no indexing and never will. Instead, a layer provides indexing by storing two kinds of key-values, one for the data and one for the index."

    https://apple.github.io/foundationdb/layer-concept.html

    Then existing standard layers like the Record layer, providing "(very) roughly equivalent to a simple relational database" providing structured types, index, complex types, queries, etc.

    https://github.com/FoundationDB/fdb-record-layer

  • 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
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