Développez des applications avec Spanner Omni à l'aide des fonctionnalités Spanner compatibles. Bien que de nombreuses fonctionnalités soient partagées avec Spanner, Spanner Omni présente des différences au niveau des bibliothèques clientes, de l'interface de ligne de commande (CLI) et des fonctionnalités de la console.
Les fonctionnalités de développement Spanner compatibles incluent les éléments suivants :
Bonnes pratiques pour la conception et l'optimisation des applications.
Fonctionnalités telles que les flux de modifications et la recherche en texte intégral.
Différences majeures
Bien qu'une grande partie de l'expérience de développement Spanner s'applique, les domaines suivants diffèrent dans Spanner Omni :
Bibliothèques clientes compatibles : Spanner Omni est compatible avec les bibliothèques clientes Java, Go et Python.
Interface de ligne de commande (CLI) : la CLI Spanner Omni est un outil dédié distinct de la Google Cloud CLI. Bien qu'elle partage une syntaxe similaire, vous n'avez pas besoin de fournir l'indicateur
--instancelorsque vous exécutez des commandes.Limites de la console : la console Spanner Omni est en lecture seule. Vous ne pouvez donc pas l'utiliser pour modifier des déploiements ni des bases de données.
Les fonctionnalités et bonnes pratiques Spanner suivantes s'appliquent à Spanner Omni.
Bonnes pratiques et cas d'utilisation
Suivez ces bonnes pratiques et ces cas d'utilisation pour concevoir et optimiser vos applications pour Spanner Omni.
Spanner en tant que base de données de jeu: Utilisez l'évolutivité et la cohérence de Spanner pour les backends de jeux.
Bonnes pratiques SQL : optimisez vos requêtes pour améliorer les performances et l'efficacité. La plupart des concepts s'appliquent à Spanner Omni. Étant donné que Spanner Omni n'est pas compatible avec le stockage hiérarchisé, des concepts tels que le pushdown de prédicat d'horodatage peuvent ne pas s'appliquer pleinement. De plus, Spanner Omni ne dispose pas de fonctionnalités de visualisation du plan de requête.
Frameworks de langage
Intégrez Spanner Omni aux frameworks de langage courants :
Hibernate ORM
Utilisez Hibernate Object-Relational Mapping (ORM) pour mapper vos objets Java aux tables Spanner Omni. Pour en savoir plus, consultez les ressources suivantes :
Intégrer Hibernate ORM (PostgreSQL) dans la documentation Spanner.
Écrire une application Hibernate qui se connecte à Spanner dans la documentation Spanner.
GORM
Intégrez Spanner Omni à GORM, un outil de mappage objet-relationnel (ORM) pour le langage de programmation Go. Pour utiliser les fonctionnalités de mappage objet-relationnel de GORM dans vos applications Go. Pour en savoir plus, consultez les ressources suivantes :
Intégrer GORM (GoogleSQL) dans la documentation Spanner.
Intégrer GORM (PostgreSQL) dans la documentation Spanner.
Transactions et simultanéité
Spanner Omni est compatible avec les fonctionnalités de gestion des transactions suivantes :
Présentation des transactions : découvrez les transactions de lecture/écriture et en lecture seule.
Limites d'horodatage : contrôlez l'obsolescence de vos lectures. Pour Spanner Omni, vous pouvez configurer la période de conservation des versions (
version_retention_period) sur une durée maximale de 30 jours. Dans Spanner, vous pouvez configurer cette durée sur une semaine maximum.Comprendre les horodatages de commit dans les bases de données GoogleSQL et dans les bases de données PostgreSQL.
TrueTime et cohérence externe : découvrez comment Spanner maintient la cohérence dans le déploiement.
Niveaux d'isolation
Comprenez les différents niveaux d'isolation compatibles avec Spanner Omni pour garantir la cohérence des données.
Optimisation
Utilisez ces techniques pour optimiser les performances et le débit de vos transactions.
Verrouillage
Découvrez comment utiliser le verrouillage explicite pour gérer l'accès simultané à vos données.
Accès aux données et modification
Accédez à vos données et modifiez-les à l'aide des méthodes Spanner standards, y compris les bibliothèques clientes, la CLI et le LMD.
Pour savoir comment les bibliothèques clientes gèrent les sessions, consultez la section Sessions. Bien que les concepts de session sous-jacents s'appliquent à Spanner Omni, il n'est compatible qu'avec les sessions multiplexées.
Lire des données
Lisez les données de Spanner Omni à l'aide de différentes méthodes, y compris les lectures obsolètes et les lectures dirigées.
Modifier les données
Modifiez vos données à l'aide du LMD, des mutations ou de la CLI.
Types de données
Spanner Omni est compatible avec les types de données suivants pour représenter les données de votre application :
Utiliser des tableaux dans GoogleSQL et dans PostgreSQL.
Développement et tests
Configurez votre environnement de développement et le comportement de votre application pour garantir des performances fiables et gestion des exceptions.
Diffuser en flux les modifications de données
Les flux de modifications Spanner suivent les modifications de la base de données, telles que les insertions, les mises à jour et les suppressions, en temps quasi réel. Gérés à l'aide du LDD, ils capturent des détails tels que les clés primaires et les horodatages de commit pour des bases de données entières ou des tables spécifiques. Bien que les fonctionnalités soient presque identiques entre Spanner et Spanner Omni, Dataflow n'est pas compatible avec Spanner Omni.
Pour en savoir plus, consultez les sections suivantes :
Présentation des flux de modifications : découvrez ce que font les flux de modifications et comment ils fonctionnent.
Créer et gérer des flux de modifications: découvrez comment utiliser le LDD pour créer, modifier et supprimer des flux de modifications.
Recherche en texte intégral
Utilisez la recherche en texte intégral (FTS) de Spanner pour rechercher des mots, des expressions ou des nombres dans des tables. La FTS lit les dernières données validées.
Les principales fonctionnalités de la FTS sont les suivantes :
- Correction orthographique automatique.
- Détection de la langue, y compris pour le chinois, le coréen et le japonais.
Pour utiliser la FTS, créez des index de recherche sur les colonnes dans lesquelles vous souhaitez effectuer une recherche. Spanner décompose les données de ces colonnes en mots individuels. Il met à jour l'index instantanément lorsque de nouvelles données sont ajoutées.
Les recherches FTS offrent des fonctionnalités avancées au-delà de la correspondance de texte standard, telles que :
- Recherche de nombres exacts et de plages de nombres.
- Recherche de parties de mots (n-grammes) pour les noms et les fautes d'orthographe.
- Recherche de mots à sonorité similaire (Soundex).
- Ignorer les mots courants.
Les fonctionnalités de la FTS sont cohérentes entre Spanner et Spanner Omni.
Différences de la recherche en texte intégral dans Spanner
Spanner est compatible avec les fonctionnalités de base de la FTS présentes dans Spanner, avec les différences suivantes :
Le mode de requête amélioré n'est pas compatible avec Spanner Omni.
Une instance dans Spanner est équivalent à un déploiement dans Spanner Omni.
Étape suivante
Utiliser la bibliothèque cliente Go pour se connecter à Spanner.
Utiliser la bibliothèque cliente Java pour se connecter à Spanner.
Utiliser la bibliothèque cliente Python pour se connecter à Spanner.