Neki: Sharded Postgres door PlanetScale

Belangrijkste specificaties

  • 100M+ queries per seconde
  • PB+ aan data per database
  • 0 downtime bij resharding
  • 100% echt Postgres

Bijschrift: Een applicatie maakt verbinding met de Neki-router, die queries routeert naar Postgres-shards. Een vierde shard wordt online gesplitst.

Functionaliteiten

  1. Sharding

Schaal Postgres voorbij de limieten van een enkele machine naar honderden miljoenen QPS en petabytes aan data.

  1. Shard splitting

Splits 'hot shards' naarmate workloads groeien. Neki maakt nieuwe doelschards aan, brengt deze bij via replicatie en verplaatst verkeer via topologie-wijzigingen.

  1. Zero-downtime resharding

Verplaats data naar een nieuwe shard-layout terwijl de database online blijft. Herbalanceer capaciteit zonder applicatie-herschrijvingen of onderhoudsvensters.

  1. Echt Postgres op schaal

Elke shard is echt Postgres. Neki voegt de router, sidecars en het control plane toe die nodig zijn om Postgres horizontaal te schalen.

  1. Hoge beschikbaarheid

Laat het platform de gezondheid monitoren, replica's promoveren en routing bijwerken. Applicaties blijven hetzelfde Postgres-endpoint gebruiken.

  1. Online schemawijzigingen

Voer schemawijzigingen uit als gecoördineerde workflows over shards. Neki past de juiste methode per shard toe en volgt de voortgang tot aan de cutover.

  1. Connection pooling

Pool verbindingen binnen de sharded database-laag. Neki routeert met kennis van de topologie, de gezondheid van shards en de sessiestatus.

  1. Shard-groepen

Wijs verschillende tabellen of workloads toe aan verschillende shard-groepen. Schaal 'hot', 'cold' of geïsoleerde data op het hardwareprofiel dat daarvoor nodig is.

  1. Multi-AZ beschikbaarheid

Draai elke shard als een hoogbeschikbaar Postgres-cluster over verschillende availability zones. Storingen blijven geïsoleerd tot de kleinst mogelijke eenheid.

  1. Datatopologie

Definieer hoe data wordt gekoppeld aan shards, shard-groepen en shard-indexen. Plaatsing is expliciet, controleerbaar en gebouwd voor gecontroleerde resharding.

  1. Cross-shard transacties (Binnenkort beschikbaar)

Schrijf over shards heen in één transactie. Neki coördineert de commit zodat de wijziging atomair is: elke shard past deze toe, of geen enkele.

  1. Workflows

Gebruik expliciete workflows voor importen, resharding, schemawijzigingen, cutovers en opschoning. Neki maakt gedistribueerde Postgres-operaties reproduceerbaar.

  1. Online versie-upgrades

Stap over naar nieuwe Postgres-versies via hetzelfde online migratiemodel: maak doelsherd-groepen aan, repliceer, voer de cutover uit en faseer de oude groepen uit.

  1. Zero-downtime imports

Importeer in Neki terwijl de brondatabase verkeer blijft afhandelen. Kopieer, repliceer, verifieer en voer de cutover uit wanneer het doel klaar is.

  1. CDC (Change Data Capture)

Elke Neki-shard heeft zijn eigen WAL en logische replicatiepad. CDC blijft compatibel met standaard Postgres-patronen en per-shard streams.

Postgres op elke schaal

Begin met een enkele shard en split deze naarmate u groeit. Migreer een bestaande database met een zero-downtime import, of neem contact op met het team over uw workload.