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.

Voici quelques-unes des fonctionnalités de développement Spanner compatibles :

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

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

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 :

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 :

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 :

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 :

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 :

Étapes suivantes