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 de l'expérience de 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édicats de code temporel 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 en lecture-écriture et en lecture seule.
Limites de code temporel : contrôlez l'obsolescence de vos lectures. Pour Spanner Omni, vous pouvez configurer la durée 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 dans le déploiement.
Niveaux d'isolation
Découvrez les différents niveaux d'isolation compatibles avec Spanner Omni pour assurer 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
Lire des données à partir 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 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 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 de données
Les flux de modifications Spanner suivent les modifications apportées à la base de données (insertions, mises à jour et suppressions, par exemple) en temps quasi réel. Gérées à l'aide du langage DDL, elles capturent des informations telles 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) de 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
- Recherche de 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é FTS 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.