Ce document définit les concepts clés et les topologies de déploiement pour Spanner Omni. Il couvre la relation hiérarchique entre les régions, les zones et les serveurs, et explique comment ces composants sont liés à la réplication et au stockage des données dans un déploiement.
Concepts Spanner Omni
Les sections suivantes fournissent des définitions détaillées des termes utilisés dans la documentation Spanner Omni. En vous familiarisant avec ces concepts, vous comprendrez clairement l'architecture et le comportement opérationnel du système.
Déploiement
Un déploiement de Spanner Omni, qui vous permet d'utiliser les bases de données dans vos centres de données ou vos comptes de cloud public. Vous créez le déploiement en fonction des paramètres spécifiés dans la configuration du déploiement. Un déploiement Spanner Omni équivaut à une instance Spanner dansGoogle Cloud.
Configuration du déploiement
Fournit l'emplacement et la spécification des régions, des zones et des serveurs pour votre déploiement Spanner Omni. Vous pouvez choisir une configuration de déploiement à serveur unique, à région unique ou multirégionale.
Emplacement
Équivalent de la région en termes Google Cloud . La latence réseau entre deux régions n'est pas négligeable. Pour les déploiements sur site, vous pouvez définir vos propres régions. Pour les déploiements cloud, la région doit correspondre à celles du fournisseur de services cloud concerné. Une région peut comporter plusieurs zones.
Processus
Le serveur Spanner crée des forks et gère plusieurs processus. Par exemple, TimeServer et spanserver sont tous des processus dans Spanner. Les processus individuels peuvent disposer de statistiques de surveillance telles que l'utilisation du processeur et de la mémoire. Un processus peut ouvrir des ports pour communiquer avec d'autres serveurs du déploiement.
Instance dupliquée
Spanner réplique les données pour assurer leur disponibilité et leur localité géographique. De manière générale, Spanner organise toutes les données en lignes. Spanner crée plusieurs copies ou instances répliquées de ces lignes, puis les stocke dans différentes zones géographiques. Spanner utilise un schéma de réplication synchrone basé sur Paxos, dans lequel les répliques votantes votent sur chaque requête d'écriture avant de valider l'écriture dans la base de données. Comme dans Spanner, il existe trois types d'instances répliquées dans Spanner Omni : lecture/écriture, lecture seule et témoin. Pour en savoir plus, consultez la section Types de réplicas dans la documentation Spanner.
Serveur
Un serveur est une ressource de calcul, telle qu'une VM ou un conteneur, sur laquelle le serveur Spanner Omni s'exécute. Chaque serveur dispose de ses propres ressources système : CPU, mémoire et stockage. Le serveur fournit les fonctionnalités de Spanner Omni en stockant et en diffusant les données utilisateur.
Serveurs racine
Les serveurs racine stockent des métadonnées critiques pour la zone. Par exemple, le serveur racine stocke l'appartenance au serveur et d'autres informations de configuration de zone. Les serveurs racine utilisent des algorithmes de quorum pour assurer la cohérence. Il doit donc y avoir un nombre impair de serveurs racine dans une zone : un pour les très petites zones et trois à cinq pour les zones plus grandes. Réfléchissez bien au nombre de serveurs racine lorsque vous planifiez le déploiement. Bien que vous puissiez modifier le nombre de serveurs racine dans le déploiement après l'avoir créé, nous vous le déconseillons.
Serveurs non racine
Les serveurs non racine stockent et diffusent les données utilisateur, et permettent de faire évoluer la capacité de calcul et le stockage d'une zone. Vous pouvez ajouter autant de serveurs non root à votre déploiement que la charge de travail l'exige. Vous pouvez modifier le nombre de serveurs non root après avoir créé le déploiement.
Diviser
Une division Spanner contient une plage de lignes de données contiguës, où Spanner classe les lignes par clé primaire. Spanner crée des répliques de chaque fractionnement qu'il stocke dans chaque zone.
Stockage
Espace de stockage permanent associé au serveur.
Zone
Un groupe d'un ou plusieurs serveurs. Pour la réplication des données, vous devez créer une zone par réplica. Pour les déploiements sur site, nous vous recommandons de limiter le partage d'infrastructure (VM, disques) entre les zones. Pour les déploiements cloud, alignez les zones sur les zones de disponibilité dans AWS ou les zones dans Google Cloud.