Google a annoncé Firestore, le nouveau magasin de données de documents sur le bloc.
Je développe depuis plus de six mois une application utilisant Google Cloud Datastore et, après avoir lu le blog , Firestore semble être un meilleur choix.
Le concept de la sous-collection alternative document-collection me semble excellent, car lors de la conception du schéma pour le magasin de données, je savais que je ne pourrais pas interroger les champs imbriqués. Maintenant, avec les sous-collections Firestore, j'obtiens des capacités de requête complètes qui changent la donne (je peux obtenir un maximum de données avec un minimum de requêtes).
En contre-argument, le organigramme me propose d'utiliser datastore car je n'ai pas de client mobile.
Sera-t-il une bonne idée d’utiliser Firestore à l’instar de Datastore?
À l'heure actuelle, Cloud Firestore n'est plus en version bêta et est généralement disponible: https://cloud.google.com/blog/products/databases/announcing-cloud-firestore-general-availability-and-updates
Cela signifie que Cloud Datastore n'est plus une option pour les projets new (vous pouvez continuer à l'utiliser sur des projets existants). Les nouveaux projets souhaitant utiliser l'API Datastore peuvent utiliser Cloud Firestore en mode Datastore.
Comme vous l'avez constaté, nous avons étendu Cloud Firestore depuis la publication de cette question.
Cela signifie que Cloud Firestore a maintenant 2 modes:
Le «mode magasin de données» est la troisième génération de Cloud Datastore. Le 1er s'appelait le magasin de données maître/esclave, le 2e était le magasin de données à réplication élevée (HRD), qui a été renommé Cloud Datastore en 2013.
La réponse ci-dessous est toujours largement pertinente, car les deux modes s’excluent actuellement, vous devez donc choisir l’un ou l’autre.
Les principales différences sont les améliorations apportées à Cloud Firestore en mode Datastore par rapport à Cloud Datastore. Les plus gros sont:
Notez également que Cloud Firestore, quel que soit le mode utilisé, est bêta. Par conséquent, le nouveau Contrat de niveau de service (SLA) n’entre en vigueur que lorsque le produit atteint Disponibilité générale (GA).
Cloud Datastore (CD) et Cloud Firestore (CF) sont similaires, mais diffèrent de manière significative.
CF est centré sur le mobile avec la fonctionnalité client direct depuis le mobile avec les fonctionnalités SDK et règles de Firebase. Le CD est centré sur le serveur et comprend un plus grand nombre de bibliothèques clientes de serveurs, ainsi que des frameworks matures sur App Engine Standard intégrant la fonctionnalité memcache.
CF possède une couche de stockage plus récente, à la cohérence identique à celle de Cloud Spanner, mais reste en version bêta sans contrat de niveau de service. La couche de stockage du CD est uniquement cohérente au sein des groupes d'entités et finalement cohérente pour tous les groupes d'entités. Cependant, elle est GA avec un taux de 99,95% SLA pour les emplacements multirégions.
CF est disponible uniquement dans la multirégion américaine. Le CD est disponible dans une douzaine de sites Cloud, notamment en Amérique, en Europe, en Asie et en Australie.
Pendant la phase bêta, CF a une limite recommandée de 2 500 écritures par seconde, tandis que nous développons notre expérience en matière de surveillance et de réglage du système avant l’AG, alors que CD gérera avec plaisir plus de 1 million d’écritures par seconde (veuillez vous adresser d’abord à votre représentant).
Les capacités d'interrogation de CF et CD se chevauchent mais ne sont pas identiques. Dans l’ensemble, le CD dispose d’un ensemble plus large de fonctionnalités de requête que nous n’avons pas encore intégrées à CF, vous disposez donc d’une plus grande flexibilité pour le CD.
Dans l’ensemble, je considérerais cette liste pour voir si l’une des différences fait ou défait ce que vous essayez de construire, puis choisissez la base de données qui correspond le mieux à vos besoins.
Firestore est la 3ème génération de Cloud Datastore et son prochain remplacement, essentiellement disponible en 2 modes: le mode Native (Firestore) et le mode Datastore.
Je dirais que Datastore est maintenant un sous-ensemble de Firestore:
Cloud Firestore est la prochaine version majeure de Cloud Datastore et une nouvelle image de marque du produit . Voir Choix entre Cloud Firestore et Cloud Datastore
Cloud Firestore peut fonctionner en "mode magasin de données", ce qui le rend rétro-compatible avec Cloud Datastore. Peu de temps après la publication de la version générale de Cloud Firestore, Google contactera les propriétaires des bases de données Cloud Datastore existantes pour planifier une mise à niveau automatique de Cloud Firestore en mode Datastore. Voir la mise à niveau automatique
Je pense que le cloud firestore a également un client nodejs et qu’il n’est pas centré sur le mobile. En fait, c’est la différence entre la base de données en temps réel Firebase qui était mobile-centri et Cloud Firestore, qui est centrée.