veilletech.fr
11 sept. Feed du jour
#07 POSTGRES Article

Neki : PlanetScale shard Postgres sans le remplacer

Votre ORM ne saura pas qu'il y a dix machines derrière.

PlanetScale présente Neki, du Postgres shardé où chaque shard reste un Postgres complet (un primaire, deux réplicas, trois zones). Un routeur parle le protocole Postgres, une topologie JSON décrit la clé de shard, et les opérations lourdes (schéma, montée de version, resharding) tournent comme des workflows en ligne. C'est une platform preview : pas de production.

3 min de lectureavancévidéo 1:20
Partager
Sommaire4 sections
  1. Ce qui se passe
  2. Comment ça marche
  3. Ce que ça change
  4. À retenir

Ce qui se passe

PlanetScale ouvre le 10 septembre une platform preview de Neki, du Postgres shardé. L'équipe vient de huit années d'exploitation de clusters MySQL shardés avec Vitess, et constate depuis le lancement de PlanetScale Postgres, il y a un an et demi, que des clients atteignent le plafond d'une seule machine sans bonne option de sortie. Les réponses existantes demandent toutes un sacrifice : le sharding applicatif pousse le routage dans le code, et les bases distribuées « compatibles Postgres » cachent la clé de partition, retirent les extensions et ajoutent une latence difficile à déboguer.

Comment ça marche

Le principe affiché : rester sur Postgres, sans le contourner, l'imiter ou le remplacer. Quatre pièces :

Le tout est décrit par une topologie de données en JSON : des shard indexes qui désignent la colonne de routage et son hachage, et des shard groups qui fixent sur combien de shards un ensemble de tables s'étale. Les routeurs la mettent en cache et la consultent à chaque plan.

Ce que ça change

Tout ce qui demande normalement une fenêtre de maintenance devient un workflow intégré : provisionner les nœuds cibles, les rattraper par réplication, basculer le trafic avec une métafonction __neki, retirer les anciens nœuds, depuis la même connexion psql que l'application. Cela couvre les changements de schéma, les montées de version, les bascules planifiées ou non, les imports et le resharding. On peut d'ailleurs démarrer Neki non shardé, un primaire et ses réplicas, pour profiter du pooling, du DDL en ligne et des montées de version sans coupure, puis resharder plus tard sur le cluster existant.

À retenir

C'est une preview : PlanetScale dit explicitement de ne pas y mettre de charge de production, le produit change encore et certaines modifications seront cassantes. Le prix et la résidence des données ne sont pas dans l'annonce. Ce qui vaut le détour dès maintenant, c'est la documentation sur le choix de la clé de shard : c'est la décision que Neki vous laisse, et qu'il faut prendre avant d'en avoir besoin.

Source : Introducing Neki