Préparer la base de données avant le lancement de l'application

Avant de lancer une application, nous vous recommandons de préchauffer votre base de données à l'aide de chargements de données de test afin de tirer parti des fonctionnalités de parallélisation de Spanner.

Spanner est une base de données distribuée. Cela signifie qu'à mesure que votre base de données s'agrandit, Spanner divise l'espace clé de vos données en fragments appelés divisions. Chaque division est une plage de lignes contenant un sous-ensemble de votre table. À mesure que Spanner divise les données en fonction de la charge et de la taille, il déplace les divisions individuelles de manière dynamique indépendamment les unes des autres et les attribue à différentes ressources de serveur afin d'équilibrer la charge globale de la base de données.

Lorsque vous insérez des données pour la première fois dans une base de données vide, Spanner les écrit dans une seule division. La base de données est toujours à l'état "froid". À mesure que vous insérez des données supplémentaires, Spanner commence à les répartir pour rééquilibrer la charge entre les autres ressources de serveur disponibles. Spanner est désormais à l'état "tiède", avec des divisions entre les ressources de serveur disponibles pour maximiser le parallélisme et améliorer les performances.

Nous vous recommandons de lancer votre application lorsque Spanner est à l'état chaud, avec des divisions déjà créées et équilibrées entre les ressources du serveur. Pour préchauffer votre base de données et préparer vos chargements de données de test, procédez comme suit:

  1. Assurez-vous que les clés primaires que vous générez pour le chargement de vos données de test se trouvent dans le même espace de clés et qu'elles possèdent les mêmes propriétés de distribution que les clés que vous utilisez pour le trafic de production.
  2. Effectuez un test de charge au plus tard deux jours avant le lancement. Exécutez le test de charge pendant au moins une heure en spécifiant le pic de charge attendu. Le test de charge amène Spanner à créer davantage de divisions en raison de la répartition basée sur la charge.
  3. Une fois le test de charge terminé, vous pouvez supprimer les lignes générées dans les tables par votre test de charge, en veillant à ne pas supprimer les tables elles-mêmes. Ainsi, les divisions seront disponibles pour votre période de lancement.