Figma architecture: how Figma scaled (4 case studies)
Figma's backend scaling story in our database is mostly PostgreSQL on AWS RDS. Its 2023 post covers moving from one Postgres instance to multiple databases by vertically partitioning table groups. Its 2024 post covers a nine-month effort to horizontally shard Postgres with a custom query proxy and logical sharding before physical splits. Figma also rewrote its multiplayer server in Rust (2018) and built LiveGraph, which tails the Postgres replication log so the UI can subscribe to live query results (2021).
We track 4 public engineering write-ups by Figma, published between 2018 and 2024. They cover caching, change data capture, connection pooling and horizontal sharding. Stack mentioned most: PostgreSQL (3) and AWS RDS (2). Each card below links to our short summary and the original post.
Tech used in Figma's scaling write-ups
Figma scaling timeline: every story, summarized
- 2018-05-02
How Mozilla's Rust dramatically improved our server-side performance
Figma rewrote its multiplayer server in Rust to cut latency and memory use as documents and users grew.
- 2021-10-14
LiveGraph: real-time data fetching at Figma
Figma built LiveGraph, which tails the Postgres replication log so its UI can subscribe to live query results.
- 2023-04-04
The growing pains of database architecture
How Figma moved from one Postgres instance to multiple databases by vertically partitioning table groups.
- 2024-03-14
How Figma's Databases Team Lived to Tell the Scale
Figma's nine-month effort to horizontally shard its Postgres stack using a custom query proxy and logical sharding before physical splits.
FAQ
What database does Figma use?
PostgreSQL, in all three of Figma's data posts we track: vertical partitioning (2023) and horizontal sharding (2024), both on AWS RDS, and LiveGraph, which tails the Postgres replication log (2021).
How did Figma shard Postgres?
Figma's 2024 post describes a nine-month effort that used a custom query proxy to route queries to shards, and made the system logically sharded before splitting data onto separate physical databases.
Why did Figma rewrite its multiplayer server in Rust?
Figma's 2018 post says it rewrote the multiplayer server in Rust to cut latency and memory use as documents and users grew.