Présentation de Cloud Datastore

Cloud Datastore est une base de données de documents NoSQL conçue pour le scaling automatique, les hautes performances et la convivialité de développement des applications. Les fonctionnalités de Cloud Datastore incluent :

  • Les transactions atomiques. Cloud Datastore peut exécuter un ensemble d'opérations, qui se solderont toutes soit par une réussite, soit par un échec.
  • La haute disponibilité des opérations de lecture et d'écriture. Cloud Datastore s'exécute dans les centres de données Google, qui utilisent la redondance pour minimiser l'impact des points de défaillance.
  • L'évolutivité massive avec hautes performances. Cloud Datastore utilise une architecture distribuée pour gérer automatiquement le scaling. Il utilise également une combinaison d'index et de contraintes de requête pour que vos requêtes s'adaptent à la taille de votre ensemble de résultats et non à la taille de votre ensemble de données.
  • Le stockage flexible et l'interrogation des données. Cloud Datastore tend naturellement vers les langages de script et orientés objet, et est exposé aux applications via plusieurs clients. Il fournit également un langage de requête de type SQL.
  • Le bon équilibre entre cohérence forte et cohérence à terme. Cloud Datastore garantit que les recherches d'entité par clé et par requête ascendante reçoivent toujours des données à cohérence forte. Toutes les autres requêtes sont cohérentes à terme. Les modèles de cohérence permettent à votre application de fournir une expérience utilisateur exceptionnelle tout en gérant de grandes quantités de données et d'utilisateurs.

  • Le chiffrement au repos. Cloud Datastore chiffre automatiquement toutes les données avant qu'elles ne soient écrites sur le disque et les déchiffre automatiquement lorsqu'elles sont lues par un utilisateur autorisé. Pour en savoir plus, consultez la section Chiffrement côté serveur.

  • Un service entièrement géré sans temps d'arrêt planifiés. Google gère l'administration du service Cloud Datastore afin que vous puissiez vous concentrer sur votre application. Votre application peut toujours utiliser Cloud Datastore lorsque le service reçoit une mise à niveau planifiée.

Cloud Firestore en mode Datastore

Cloud Firestore est la dernière version de Cloud Datastore et introduit plusieurs améliorations par rapport à Cloud Datastore. Les utilisateurs Cloud Datastore existants peuvent accéder à ces améliorations en créant un nouveau Cloud Firestore dans une instance de base de données en mode Datastore. À l'avenir, toutes les bases de données Cloud Datastore existantes seront automatiquement mises à niveau vers Cloud Firestore en mode Datastore.

Comparaison avec les bases de données traditionnelles

Bien que l'interface Cloud Datastore présente de nombreuses fonctionnalités identiques aux bases de données traditionnelles, elle diffère d'une base de données NoSQL par la manière dont elle décrit les relations entre les objets de données. Voici une comparaison détaillée des concepts Cloud Datastore et de ceux des bases de données relationnelles :

Concept Cloud Datastore Cloud Firestore Base de données relationnelle
Catégorie d'objet Type Groupe de collections Table
Un objet Entité Document Ligne
Données individuelles pour un objet Propriété Champ Colonne
ID unique pour un objet Clé ID de document Clé primaire

Contrairement aux lignes d'une table de base de données relationnelle, les entités Cloud Datastore du même type peuvent avoir des propriétés différentes et différentes entités peuvent avoir des propriétés du même nom mais avec des types de valeur différents. Ces caractéristiques uniques impliquent une manière différente de concevoir et de gérer les données afin de tirer parti de la possibilité d'évoluer automatiquement. Cloud Datastore se distingue particulièrement des bases de données relationnelles traditionnelles par les aspects suivants :

  • Cloud Datastore est conçu pour s'adapter automatiquement à des ensembles de données très volumineux, ce qui permet aux applications de maintenir des performances élevées à mesure qu'elles reçoivent plus de trafic :
    • Cloud Datastore écrit l'évolutivité en distribuant automatiquement les données si nécessaire.
    • Cloud Datastore lit l'évolutivité, car les seules requêtes acceptées sont celles dont les performances évoluent en fonction de la taille de l'ensemble de résultats (par opposition à l'ensemble de données). Cela signifie qu'une requête dont l'ensemble de résultats contient 100 entités effectue la même opération, qu'elle recherche un peu plus d'une centaine d'entités ou un million. Cette propriété est la principale raison pour laquelle certains types de requêtes ne sont pas acceptés.
  • Comme toutes les requêtes sont diffusées par des index créés précédemment, les types de requêtes pouvant être exécutés sont plus restrictifs que ceux autorisés sur une base de données relationnelle avec SQL. Par exemple, Cloud Datastore n'accepte pas les opérations JOIN, le filtrage d'inégalité sur plusieurs propriétés ou le filtrage des données en fonction des résultats d'une sous-requête.
  • Contrairement aux bases de données relationnelles traditionnelles qui appliquent un schéma, Cloud Datastore ne comprend pas de schéma. Les entités de même type ne doivent pas forcément avoir un ensemble de propriétés cohérent (même si vous pouvez choisir d'appliquer cette exigence dans votre propre code d'application).

Points forts

Cloud Datastore est idéal pour les applications qui reposent sur des données structurées hautement disponibles à grande échelle. Cloud Datastore permet de stocker et d'interroger tous les types de données suivants :

  • Des catalogues de produits fournissant un inventaire en temps réel, ainsi que les détails d'un produit.
  • Des profils utilisateur offrant une expérience personnalisée en fonction des activités et des préférences de l'utilisateur.
  • Des transactions basées sur les propriétés ACID, telles que le transfert de fonds d'un compte bancaire à un autre.

Autres options de stockage

Cloud Datastore n'est pas la solution idéale pour tous les cas d'utilisation. Par exemple, Cloud Datastore n'est pas une base de données relationnelle et n'est pas une solution de stockage efficace pour les données analytiques.

Voici quelques situations courantes dans lesquelles nous vous recommandons d'opter pour une autre solution que Cloud Datastore :

  • Si vous avez besoin d'une base de données relationnelle avec prise en charge de SQL complète pour un système de traitement des transactions en ligne (OLTP), envisagez plutôt Cloud SQL.
  • Si vous n'avez pas besoin de support pour les transactions ACID ou si vos données ne sont pas très structurées, pensez à Cloud Bigtable.
  • Si vous avez besoin de traiter des requêtes interactives sur un système de traitement analytique en ligne (OLAP), envisagez plutôt BigQuery.
  • Si vous avez besoin de stocker des blobs immuables volumineux, tels que des images volumineuses ou des films, envisagez Cloud Storage.

Pour en savoir plus sur les autres options de stockage, consultez le guide Choisir une option de stockage.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Cloud Datastore