Interpréteurs Go plus rapides : combler l'écart avec C++

2025-04-05
Interpréteurs Go plus rapides : combler l'écart avec C++

Le moteur d'évaluation SQL fourni avec Vitess, la base de données open source qui alimente PlanetScale, a été initialement implémenté comme un évaluateur AST qui fonctionnait directement sur l'AST SQL généré par notre analyseur. Au cours de l'année écoulée, nous l'avons progressivement remplacé par une machine virtuelle qui, bien qu'écrite nativement en Go, offre des performances similaires au code d'évaluation C++ original de MySQL. Plus remarquable encore, la nouvelle machine virtuelle s'est avérée maintes fois plus facile à maintenir que l'interpréteur Go d'origine, même si elle est des ordres de grandeur plus rapide. Passons en revue les choix d'implémentation que nous avons faits pour obtenir ces résultats surprenants.

Lire plus
Développement

PlanetScale révèle le véritable taux de défaillance d'EBS : ce n'est pas binaire, c'est une dégradation constante

2025-03-18
PlanetScale révèle le véritable taux de défaillance d'EBS : ce n'est pas binaire, c'est une dégradation constante

Sur la base de son utilisation massive d'Amazon EBS, PlanetScale révèle que le véritable taux de défaillance est bien supérieur à ce que suggère la documentation AWS. L'article souligne que le ralentissement d'EBS est beaucoup plus fréquent que les pannes complètes, avec des fluctuations de performances fréquentes même lorsque les garanties de performances d'AWS sont respectées, entraînant des interruptions d'applications. Cette dégradation n'est pas aléatoire ; elle est inhérente à la complexité du système. PlanetScale atténue les problèmes grâce à la surveillance et au remplacement automatique des volumes EBS, ce qui a finalement conduit à PlanetScale Metal pour éviter les problèmes de performances de stockage en réseau.

Lire plus

PlanetScale Metal : Supprimer le goulot d'étranglement E/S des bases de données cloud

2025-03-13
PlanetScale Metal : Supprimer le goulot d'étranglement E/S des bases de données cloud

Cet article explore l'histoire de l'évolution des technologies de stockage informatique, de la bande magnétique aux disques durs en passant par les disques SSD, et les défis de performance des E/S posés par le cloud computing. Les services traditionnels de bases de données cloud utilisent généralement un stockage connecté au réseau (NAS), ce qui entraîne une latence élevée et des limitations d'IOPS. Le produit Metal de PlanetScale utilise des lecteurs NVMe locaux, connectant directement le calcul et le stockage, pour atteindre une latence extrêmement faible, des IOPS illimités et une haute durabilité des données, résolvant ainsi complètement le problème du goulot d'étranglement des E/S des bases de données cloud.

Lire plus

Vaincre la contention de verrouillage des compteurs de base de données : le modèle de compteur à emplacements

2025-02-04
Vaincre la contention de verrouillage des compteurs de base de données : le modèle de compteur à emplacements

La mise à jour des compteurs de base de données dans des scénarios à forte concurrence entraîne souvent une contention de verrouillage, ce qui provoque une dégradation des performances et même des blocages. Cet article présente un modèle appelé « compteurs à emplacements » qui atténue efficacement la contention de verrouillage en distribuant les compteurs sur plusieurs emplacements. Ce modèle distribue les opérations de mise à jour sur plusieurs lignes, éliminant ainsi le goulot d'étranglement des mises à jour sur une seule ligne et améliorant les performances de la concurrence. GitHub a utilisé une solution similaire pour résoudre les problèmes de comptage ; l'idée principale est de distribuer les opérations de mise à jour sur plusieurs lignes, puis de les agréger pour obtenir le nombre total.

Lire plus
Développement forte concurrence