PlanetScale Unveils Neki: Sharded Postgres for Extreme Scale

2025-08-12
PlanetScale Unveils Neki: Sharded Postgres for Extreme Scale

PlanetScale today announced Neki, a sharded Postgres database built on the team's experience with Vitess. Unlike Vitess, which leverages MySQL, Neki is being architected from the ground up for Postgres, aiming to bring Vitess's scalability to the Postgres ecosystem. Currently in development with large-scale design partners, Neki will be open-sourced upon completion to handle the most demanding Postgres workloads.

Read more
Development sharded database

Faster Go Interpreters: Closing the Gap with C++

2025-04-05
Faster Go Interpreters: Closing the Gap with C++

Vitess, the open-source database powering PlanetScale, initially used an AST-based interpreter for its SQL engine. Over the past year, this has been replaced with a Go-based virtual machine that performs comparably to MySQL's native C++ code, while being significantly easier to maintain. The VM achieves remarkable speed improvements—up to 20x faster in some cases—through static type checking and clever instruction dispatch. This article details the design and implementation, including leveraging Go's closures to simplify the VM and handling SQL's dynamic typing challenges.

Read more
Development

PlanetScale Exposes the Real Failure Rate of EBS: It's Not Binary, It's Constant Degradation

2025-03-18
PlanetScale Exposes the Real Failure Rate of EBS: It's Not Binary, It's Constant Degradation

Based on its massive use of Amazon EBS, PlanetScale reveals the true failure rate is far higher than AWS documentation suggests. The article highlights that EBS 'slowness' is far more common than outright failure, with frequent performance fluctuations even when meeting AWS's performance guarantees, causing application outages. This degradation isn't random; it's inherent to the system's complexity. PlanetScale mitigates issues through monitoring and automated EBS volume replacement, ultimately leading to PlanetScale Metal to avoid network storage performance issues.

Read more

PlanetScale Metal: Ditching the Cloud Database IO Bottleneck

2025-03-13
PlanetScale Metal: Ditching the Cloud Database IO Bottleneck

This article explores the history of computer storage technologies, from tape to hard disk drives to solid-state drives (SSDs), and the IO performance challenges brought about by cloud computing. Traditional cloud database services typically use network-attached storage (NAS), resulting in high latency and IOPS limitations. PlanetScale's Metal product uses local NVMe drives, directly connecting compute and storage, to achieve extremely low latency, unlimited IOPS, and high data durability, completely solving the IO bottleneck problem of cloud databases.

Read more

Conquering Database Counter Lock Contention: The Slotted Counter Pattern

2025-02-04
Conquering Database Counter Lock Contention: The Slotted Counter Pattern

Updating database counters in high-concurrency scenarios often leads to lock contention, causing performance degradation and even deadlocks. This article introduces a pattern called "slotted counters" that effectively mitigates lock contention by distributing counters across multiple slots. This pattern distributes update operations across multiple rows, eliminating the bottleneck of single-row updates and improving concurrency performance. GitHub used a similar solution to address counting issues; the core idea is to distribute update operations across multiple rows and then aggregate them to get the final count.

Read more
Development