Les bases de données de paiement d'Etsy ont rencontré des problèmes de scalabilité en 2020, nécessitant une migration vers un environnement fragmenté géré par Vitess.
Le projet a impliqué le déplacement de 40 milliards de lignes de quatre bases de données dans un seul environnement fragmenté, en utilisant des vindexes Vitess pour la fragmentation.
La première phase a consisté à migrer l'infrastructure du grand livre des vendeurs, qui avait un modèle de données idéal pour la fragmentation.
La deuxième phase s'est concentrée sur la réduction de la charge sur la base de données de paiements primaire, qui avait un modèle de données complexe nécessitant une approche plus adaptée.
Deux options ont été considérées pour la deuxième phase : remodeler le modèle de données de base ou trouver des shardifiers dans le modèle existant.
La deuxième option a été choisie en raison des contraintes de temps et de l'importance de maintenir la fiabilité.
L'équipe a utilisé les clés primaires et étrangères existantes comme shardifiers, réduisant le travail par rapport à la première phase.
Les fonctionnalités de re-sharding de Vitess offrent une flexibilité pour les ajustements futurs du design des shards.
Les index secondaires dans Vitess atténuent les limitations du modèle de données non idéal, permettant la ciblage des shards sans utiliser le shardifier dans les requêtes.
Cette migration a amélioré la scalabilité de 60% et a laissé place à une croissance future.
etsy.com
Scaling Etsy Payments with Vitess: Part 1 – The Data Model
Create attached notes ...
