Présentation de Spanner Omni

Spanner Omni est une version téléchargeable de Spanner qui vous permet de déployer la technologie de base de données distribuée de Google dans des centres de données sur site, des clouds publics et sur votre ordinateur portable. Elle offre les fonctionnalités de base de Spanner, y compris l'évolutivité horizontale, la haute disponibilité, la conformité ACID et une forte cohérence externe, en utilisant la réplication basée sur Paxos, le partitionnement automatique et l'API TrueTime définie par logiciel.

Spanner Omni intègre des modèles de données relationnels, de graphes, vectoriels et de clé-valeur avec des fonctionnalités d'analyse opérationnelle et de recherche plein texte. Comme Spanner, Spanner Omni est compatible avec GoogleSQL, PostgreSQL et Spanner Graph Language. Vous pouvez bénéficier d'une résilience inter-environnement, d'une portabilité des applications et d'une pile de développement cohérente dans différents environnements. Spanner Omni est compatible avec les options de déploiement suivantes :

  • Machines virtuelles
  • Conteneurs Linux
  • Clusters Kubernetes

La version en aperçu de Spanner Omni inclut les fonctionnalités de base de Spanner, à l'exception des fonctionnalités de sécurité et de protection des données pour les entreprises. Pour bénéficier d'un accès anticipé à l'édition avec toutes les fonctionnalités, contactez Google.

Principales fonctionnalités

Spanner Omni offre les fonctionnalités suivantes :

  • Flexibilité de déploiement : exécutez Spanner Omni sur Linux ou macOS. Spanner Omni est compatible avec les environnements de cloud public, tels que Google Cloud (Google Kubernetes Engine (GKE) et Cloud Storage) ainsi qu'avec Amazon Elastic Kubernetes Service (Amazon EKS) et Amazon Elastic Compute Cloud (Amazon EC2), sur site et sur les ordinateurs portables.

  • Haute évolutivité : Spanner Omni peut partitionner automatiquement vos données et équilibrer les partitions pour obtenir une mise à l'échelle élastique pour les lectures et les écritures.

  • Haute disponibilité : Spanner Omni propose plusieurs topologies de déploiement. Spanner Omni propose un déploiement multizone et multicluster pour assurer une haute disponibilité en cas de défaillance de zone ou de cluster.

  • Forte cohérence externe : Spanner Omni offre une cohérence transactionnelle globale à l'aide de TrueTime basé sur logiciel, qui peut être déployé dans n'importe quel environnement.

  • Multimodèle interopérable : Spanner Omni est compatible avec plusieurs modèles de données (relationnel, clé-valeur, graphe, vecteur) et fonctionnalités (recherche plein texte, traitement analytique). Il fournit des requêtes intermodèles et des transactions conformes à ACID sur différents modèles de données.

  • Interface familière : interagissez avec vos données à l'aide de la CLI Spanner, qui inclut un shell SQL pour les requêtes interactives. Spanner Omni est compatible avec les dialectes GoogleSQL, PostgreSQL et GQL, ce qui vous permet de migrer des applications existantes.

Topologies de déploiement

Spanner Omni utilise une hiérarchie de régions, de zones et de serveurs pour définir sa configuration de déploiement. Spanner Omni propose les configurations de déploiement suivantes :

  • Serveur unique : Spanner Omni s'exécute sur une seule machine. Cette topologie est une bonne option pour le développement local, car elle s'exécute sur une seule machine. Les mises à niveau de cette topologie entraînent un temps d'arrêt.

  • Zone unique (ou zonale) : tous les serveurs Spanner Omni font partie d'une seule zone. Utilisez au moins trois serveurs pour cette configuration de déploiement. Pour une disponibilité optimale, cette topologie présente des objectifs de disponibilité inférieurs, car une défaillance de zone unique peut entraîner une panne.

  • Multizone (ou régionale) : Spanner Omni distribue les serveurs sur plusieurs zones. Toutes les zones se trouvent dans un seul emplacement. Pour les déploiements multizones, utilisez au moins trois zones. Chaque zone doit comporter au moins un serveur. Nous vous recommandons d'utiliser trois serveurs dans chaque zone. Cette configuration de déploiement offre une disponibilité plus élevée que le déploiement à zone unique.

  • Multicluster (ou multirégional) : les serveurs Spanner Omni résident dans plusieurs zones sur plusieurs clusters. Pour une haute disponibilité, utilisez trois zones sur deux clusters ou plus, et configurez chaque zone avec trois serveurs ou plus.

Configuration requise

Pour optimiser les performances, respectez les exigences minimales recommandées suivantes pour les déploiements de serveurs :

Environnement OS ou plate-forme Recommandation matérielle
Sur site Linux (RHEL 9, Ubuntu 22) 4 Go de RAM par processeur virtuel, 20 Go d'espace disque ou plus
Cloud (Google Cloud et AWS) VM ou pods Kubernetes 4 processeurs virtuels, 16 Go de RAM par VM ou pod Kubernetes
Développement (ordinateurs portables, ordinateurs de bureau) macOS (M1, M2, M3) 4 Go de RAM, 10 Go d'espace disque

Pour le stockage, nous vous recommandons d'utiliser un stockage SSD dédié avec un système de fichiers ext4.

Connectivité et développement

Pour vous connecter à Spanner Omni et développer des applications, utilisez les outils suivants :

  • Bibliothèques clientes : vous pouvez utiliser les bibliothèques clientes Spanner existantes pour Java et Go en spécifiant le point de terminaison Spanner Omni. Par exemple, en Java, définissez setExperimentalHost("http://localhost:15000").

  • PGAdapter : ce proxy permet aux applications PostgreSQL existantes de se connecter aux bases de données de dialecte PostgreSQL Spanner Omni à l'aide du protocole filaire PostgreSQL standard.

  • Diagnostics : une commande spanner admin diagnostics create dédiée collecte les journaux, les traces et les piles de threads à des fins de dépannage.