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

DevFeed: [How we scale an open source, multi-tenant storage engine for Postgres written in Rust](<https://devfeed.tech/articles/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-in-rust-5412.md>)

Original publisher: [Read original article](<https://neon.com/blog/how-we-scale-an-open-source-multi-tenant-storage-engine-for-postgres-written-rust>)

Author: John Spray

Published: 2024-04-15T14:44:31Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>), [data](<https://devfeed.tech/topics/data.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [cloud](<https://devfeed.tech/tags/cloud.md>), [database](<https://devfeed.tech/tags/database.md>), [developers](<https://devfeed.tech/tags/developers.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [operations](<https://devfeed.tech/tags/operations.md>), [performance](<https://devfeed.tech/tags/performance.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scale](<https://devfeed.tech/tags/scale.md>), [storage](<https://devfeed.tech/tags/storage.md>)

## AI overview

This article explains how Neon scales an open-source, multi-tenant storage engine for Postgres written in Rust. It describes separating compute from storage, using Pageserver storage sharding to distribute database data across multiple Pageservers, and improving storage capacity, throughput, resource isolation, and maintenance performance for large datasets.

## Source excerpt

We separated storage and compute with the vision of scaling Postgres in the cloud. The compute part runs on VMs and pods, autoscales on-demand and streams Postgres Write-Ahead-Log (WAL) records to the storage engine. The storage part saves the database's historical data in a Rust...