Développer avec Spanner Omni

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 :

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 --instance lorsque 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 :

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 :

Transactions et simultanéité

Spanner Omni est compatible avec les fonctionnalités de gestion des transactions suivantes :

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 :

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 :

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 :

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 :

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 :

Étape suivante