Neon is a serverless open-source alternative to AWS Aurora Postgres. It separates storage and compute, substituting the PostgreSQL storage layer by redistributing data across a cluster of nodes.
Try the Neon Free Tier to create a serverless Postgres instance. Connect to it with your preferred Postgres client (psql, DBeaver, etc.) or use the online SQL Editor. See Connect from any application for connection instructions.
Alternatively, compile and run the project locally.
A Neon installation consists of compute nodes and the Neon storage engine. Compute nodes are stateless PostgreSQL nodes backed by the Neon storage engine.
Pageserver: A scalable storage backend for the compute nodes.
Safekeepers: A redundant WAL service that receives WAL from the compute node and stores it durably until it has been processed by the pageserver and uploaded to cloud storage.
For more details, see the developer documentation in SUMMARY.md.
Building Neon requires version 3.15+ of protoc (protobuf-compiler). If your distribution provides an older version, you can install a newer version from here.
Generate flamegraphs using flamegraph-rs or the original flamegraph.pl. Note that if you're using lld or mold, you need the --no-rosegment linker argument.
The docs directory contains an overview of all available markdown documentation. Use cargo doc --no-deps --open to view rustdoc documentation in a browser.
Other resources:
SELECT 'Hello, World': Blog post by Nikita Shamgunov on the high-level architecture.