Conçue pour le scaling automatique et les hautes performances, Firestore en mode Datastore (Datastore) est une base de données de documents NoSQL qui simplifie le développement d'applications. Fonctionnalités principales de Cloud Datastore :
- Les transactions atomiques. Cloud Datastore peut exécuter un ensemble d'opérations dans lesquelles toutes les opérations réussissent, ou aucun d'entre elles.
- 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. Datastore utilise une combinaison d'index et de contraintes de requête afin que vos requêtes s'adaptent à la taille de l'ensemble de résultats, et non à celle de l'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 semblable à SQL.
- Cohérence forte : Datastore garantit que toutes les requêtes sont fortement cohérentes.
- 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 pour 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.
Comparaison avec les bases de données relationnelles
Bien que l'interface Datastore présente de nombreuses fonctionnalités semblables à celles des bases de données relationnelles, elle varie en tant que base de données NoSQL, mais la manière dont elle décrit les relations entre les objets de données varie. Voici un comparatif détaillé des concepts Datastore et des bases de données relationnelles:
Concept | Datastore | 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 Datastore du même genre peuvent avoir des propriétés différentes. De plus, différentes entités peuvent avoir des propriétés portant le même nom, mais avec des types de valeurs différents. Ces caractéristiques uniques impliquent une manière différente de concevoir et de gérer les données pour tirer parti de la possibilité d'évoluer automatiquement. Datastore se distingue notamment des bases de données relationnelles traditionnelles par les aspects importants suivants:
- 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 lorsqu'elles reçoivent plus de trafic :
- Les écritures du magasin de données s'adaptent en distribuant automatiquement les données selon les besoins.
- Les lectures dans Cloud Datastore évoluent, car les seules requêtes acceptées sont celles dont les performances évoluent en fonction de la taille de l'ensemble de résultats. 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.
- Toutes les requêtes étant traité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 dans une base de données relationnelle SQL. En particulier, Cloud Datastore n'accepte pas les opérations de jointure, le filtrage des inégalités sur plusieurs propriétés ou le filtrage des données basées sur les résultats d'une sous-requête.
- Contrairement aux bases de données relationnelles qui appliquent un schéma, Datastore est sans 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 peut être utilisé pour stocker et 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.
- Profils utilisateur offrant une expérience personnalisée en fonction des activités et des préférences de l'utilisateur
- Transactions basées sur les propriétés ACID. (par exemple, pour transférer des fonds d'un compte bancaire à un autre).
Autres options pour le stockage et les bases de données
Cet outil ne convient pas à tous les cas d'utilisation. Par exemple, Datastore n'est pas une base de données relationnelle et ne constitue pas une solution 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 d'assistance pour les transactions ACID ou si vos données ne sont pas très structurées, vous pouvez envisager d'utiliser 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 plus d'informations sur les autres options de bases de données, consultez la présentation des services de base de données.
Étapes suivantes
- Découvrez comment stocker et interroger des données à l'aide de la console Google Cloud.
- En savoir plus sur le modèle de données Datastore
- Consulter les bonnes pratiques concernant Datastore