<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-in-rust-ok3zjts0u" -->

---
title: How we scale an open source, multi-tenant storage engine...
description: Neon's Pageserver is a Rust-based, multi-tenant storage engine for Postgres that separates storage from compute. The initial design stored all tenant data on a...
canonical: https://daily.dev/posts/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-in-rust-ok3zjts0u
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How we scale an open source, multi-tenant storage engine for Postgres written in Rust | daily.dev
og:description: Neon's Pageserver is a Rust-based, multi-tenant storage engine for Postgres that separates storage from compute. The initial design stored all tenant data on a...
og:url: https://daily.dev/posts/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-in-rust-ok3zjts0u
og:image: https://api.daily.dev/og/posts/oK3zJts0u.png
og:image:alt: How we scale an open source, multi-tenant storage engine for Postgres written in Rust
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How we scale an open source, multi-tenant storage engine for Postgres written in Rust

**[Neon](https://daily.dev/sources/neontech)** · 6 min read · 0 upvotes · 0 comments

## Summary

Neon's Pageserver is a Rust-based, multi-tenant storage engine for Postgres that separates storage from compute. The initial design stored all tenant data on a single Pageserver, limiting scalability for large datasets. To address this, Neon implemented storage sharding, which distributes a database's data across multiple Pageservers using a stripe-based hashing scheme keyed on Postgres block numbers. This enables linear I/O scaling, better resource isolation between small and large tenants, and support for datasets up to tens of terabytes. The shard count is currently fixed at creation time, but future work includes WAL fan-out optimization and dynamic shard splitting to allow tenants to grow beyond their initial shard allocation.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://neon.com/blog/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-rust>

## Similar posts on daily.dev

- [PlanetScale Extends Database Platform to PostgreSQL](https://daily.dev/posts/planetscale-extends-database-platform-to-postgresql-dlbsyxmnj) · InfoQ · 3 upvotes · 0 comments
- [Inside LuBot's database-per-tenant architecture](https://daily.dev/posts/inside-lubot-s-database-per-tenant-architecture-ov8nljmhn) · Neon · 5 upvotes · 0 comments

---

Tags: [#rust](https://daily.dev/tags/rust), [#postgresql](https://daily.dev/tags/postgresql), [#distributed-systems](https://daily.dev/tags/distributed-systems)

[View this post on daily.dev](https://daily.dev/posts/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-in-rust-ok3zjts0u)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How we scale an open source, multi-tenant storage engine for Postgres written in Rust","url":"https://daily.dev/posts/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-in-rust-ok3zjts0u","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-in-rust-ok3zjts0u"},"datePublished":"2026-07-09T06:57:59.416Z","dateModified":"2026-07-09T07:02:28.826Z","description":"Neon's Pageserver is a Rust-based, multi-tenant storage engine for Postgres that separates storage from compute. The initial design stored all tenant data on a...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d899e9616a8b2ba4952f7ca555437654?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d899e9616a8b2ba4952f7ca555437654?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Neon","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Neon","logo":"https://media.daily.dev/image/upload/s--65EDghou--/f_auto/v1724339118/logos/neontech","url":"https://daily.dev/sources/neontech"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-in-rust-ok3zjts0u","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"rust,postgresql,distributed-systems","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Neon","item":"https://daily.dev/sources/neontech"},{"@type":"ListItem","position":3,"name":"How we scale an open source, multi-tenant storage engine for Postgres written in Rust"}]}
```

