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.
Voici quelques-unes des fonctionnalités de développement Spanner compatibles :
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 que la plupart des aspects du développement Spanner s'appliquent, 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 que sa syntaxe soit 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 les 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 gaming : utilisez l'évolutivité et la cohérence de Spanner pour les backends de gaming.
Bonnes pratiques SQL : optimisez vos requêtes pour améliorer les performances et l'efficacité. La plupart des concepts s'appliquent à Spanner Omni. Comme 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 entièrement. De plus, Spanner Omni ne dispose pas de fonctionnalités de visualisation des plans de requête.
Frameworks linguistiques
Intégrez Spanner Omni aux frameworks de langage populaires :
Hibernate ORM
Utilisez Hibernate Object-Relational Mapping (ORM) pour mapper vos objets Java sur les 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 et écriture et les transactions 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) jusqu'à 30 jours. Dans Spanner, vous pouvez configurer cette valeur sur une semaine maximum.Comprendre les codes temporels 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 assure la cohérence du déploiement.
Niveaux d'isolation
Découvrez 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 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 langage LMD, de mutations ou de l'interface de ligne de commande.
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 en GoogleSQL et en 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 efficace.
Diffuser les modifications des données
Les flux de modifications Spanner suivent les modifications apportées aux bases de données (insertions, mises à jour et suppressions, par exemple) en temps quasi réel. Gérées à l'aide du LDD, elles capturent des détails tels que les clés primaires et les codes temporels 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) Spanner pour rechercher des mots, des expressions ou des nombres dans les tables. FTS lit les dernières données validées.
Voici les principales fonctionnalités de FTS :
- Correction orthographique automatique
- Détection de la langue, y compris pour le chinois, le coréen et le japonais.
Pour utiliser la recherche en texte intégral, créez des index de recherche sur les colonnes dans lesquelles vous souhaitez effectuer des recherches. 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 mise en correspondance de texte standard, telles que :
- Rechercher des nombres exacts et des plages de nombres
- Rechercher des parties de mots (n-grammes) pour les noms et les fautes d'orthographe.
- Rechercher des mots à la sonorité similaire (Soundex)
- Ignorer les mots courants :
La fonctionnalité FTS est cohérente entre Spanner et Spanner Omni.
Différences de texte intégral dans Spanner
Spanner est compatible avec la fonctionnalité de recherche en texte intégral de base de Spanner, à quelques différences près :
Le mode requête amélioré n'est pas compatible avec Spanner Omni.
Une instance dans Spanner équivaut à un déploiement dans Spanner Omni.
Étapes suivantes
Utilisez la bibliothèque cliente Go pour vous connecter à Spanner.
Utilisez la bibliothèque cliente Java pour vous connecter à Spanner.