Cette page a été traduite par l'API Cloud Translation.
Switch to English

Passer automatiquement à Cloud Firestore

Cette page décrit la procédure de mise à niveau de Cloud Datastore vers Firestore en mode Datastore.

Firestore peut fonctionner en mode Datastore, ce qui permet d'assurer la rétrocompatibilité avec Cloud Datastore. Avec Firestore en mode Datastore, vous pouvez accéder à la couche de stockage améliorée de Cloud Firestore, tout en conservant le comportement du système Datastore. Firestore en mode Datastore supprime les limitations suivantes de Cloud Datastore :

  • Les requêtes ne sont plus cohérentes à terme, mais fortement cohérentes.
  • Les requêtes dans les transactions ne sont plus obligatoires pour les requêtes ascendantes.
  • Les transactions ne sont plus limitées à 25 groupes d'entités.
  • Les écritures dans un groupe d'entités ne sont plus limitées à 1 par seconde.
  • Les transactions utilisent désormais des verrouillages pessimistes plutôt que la simultanéité optimiste.

Pour en savoir plus sur le mode Datastore, consultez la page Firestore en mode Datastore.

À partir de 2021, Google Cloud mettra progressivement à niveau les bases de données Cloud Datastore existantes vers Firestore en mode Datastore.

Passer automatiquement à Firestore en mode Datastore

Si vous gérez une application qui utilise Cloud Datastore, vous n'avez pas besoin de mettre à jour votre code d'application. Nous vous informerons du calendrier de la mise à niveau de votre application vers Cloud Firestore en mode Datastore. La mise à niveau ne nécessite pas de temps d'arrêt.

Si vous avez d'autres questions concernant la procédure de mise à niveau automatique, contactez l’un de nos canaux d'assistance.

Étapes de mise à niveau

De manière générale, nous appliquons le processus suivant pour faire passer votre base de données Cloud Datastore à Firestore en mode Datastore :

  1. Ajouter une instance dupliquée Firestore en mode Datastore à votre base de données Cloud Datastore existante Dupliquez les opérations d'écriture d'entités de manière asynchrone dans Firestore en mode Datastore.

  2. Copier les données et entrées d'index existantes de Cloud Datastore vers Cloud Firestore en mode Datastore. Une fois les données copiées, vérifiez-les.

  3. Redirigez les lectures d'entités directement vers Cloud Firestore en mode Datastore. Redirigez d'abord les lectures cohérentes à terme, puis les lectures fortement cohérentes.

  4. Redirigez les écritures d'entités et les lectures transactionnelles directement vers Firestore en mode Datastore.

Ce processus utilise les étapes suivantes.

1. Copier et valider

Cette étape présente une instance dupliquée Firestore en mode Datastore et effectue les étapes suivantes :

  1. Journal

    Les opérations d'écriture d'entités dans Cloud Datastore commencent également à passer par un canal secondaire vers l'instance dupliquée Firestore en mode Datastore. Cela se produit dans le système de réplication existant de Cloud Datastore. Ces opérations d'écriture n'affectent pas la latence en écriture. L'instance dupliquée Firestore en mode Datastore met ces opérations d'écriture en mémoire tampon pour les appliquer après l'étape de copie.

  2. Copier

    Dans l'instance dupliquée Cloud Firestore en mode Datastore, créez une copie hors connexion de vos données et entrées d'index existantes. L'étape de copie n'a pas d'incidence sur les opérations Cloud Datastore. Cette étape peut durer plusieurs jours.

  3. Journaux de drainage

    Appliquez les écritures à l'étape de journalisation en plus des données de la copie hors connexion.

  4. Vérifier les données

    Vérifiez à nouveau les données dans Firestore en mode Datastore en les comparant aux données de Cloud Datastore.

2. Rediriger les lectures cohérentes à terme

Diffusez les lectures cohérentes à terme (requêtes sans filtre d'ancêtre) de Firestore en mode Datastore. La sémantique Cloud Datastore pour les lectures s'applique toujours à ce stade :

  • Les requêtes ascendantes sont fortement cohérentes.
  • Les requêtes non ascendantes sont cohérentes à terme.
  • Les recherches sont fortement cohérentes (sauf celles explicitement configurées pour la cohérence à terme).

Firestore en mode Datastore continue d'agir en tant qu'instance dupliquée de vos données Cloud Datastore.

3. Rediriger les lectures fortement cohérentes

Diffusez des lectures fortement cohérentes (non transactionnelles) à partir de Firestore en mode Datastore. Notez que la sémantique de Cloud Datastore pour les lectures s'applique toujours. Firestore s'appuie toujours sur Cloud Datastore pour garantir que les lectures fortement cohérentes sont à jour, même si elles proviennent désormais directement de Firestore.

4. Rediriger les écritures

Rediriger les écritures d'entités et les lectures transactionnelles vers Cloud Firestore en mode Datastore Les modifications simultanées apportées à la même entité entraînent toujours des abandons de transaction. Les modifications simultanées apportées à différentes entités au sein du même groupe d'entités n'entraînent plus d'annulations de transactions.

Au début de cette étape, Firestore en mode Datastore s'appuie toujours sur Cloud Datastore pour garantir qu'il est à jour avant chaque écriture. Après une vérification finale qui garantit que toutes les écritures précédentes sont appliquées, Firestore en mode Datastore arrête de consulter Cloud Datastore.

5. Migration terminée

La sémantique de Firestore en mode Datastore pour les lectures s'applique désormais. Toutes les requêtes sont fortement cohérentes.

Les tarifs restent inchangés, mais votre compte répertorie désormais des SKU Firestore. La page "Quotas App Engine" affiche les données d'utilisation de Firestore au lieu de Cloud Datastore.

Tester une application existante

Procédez comme suit pour tester si le comportement d'une application existante utilisant Cloud Datastore change avec Firestore en mode Datastore :

  1. Créez un projet. Dans ce projet, créez une base de données Cloud Firestore en mode Datastore.
  2. À l'aide du service d'exportation géré, exportez certaines des données de votre application vers Cloud Storage.
  3. À l'aide du service d'importation géré, importez les données de votre application dans le nouveau projet.
  4. Copiez la logique d'application que vous souhaitez tester dans le nouveau projet ou simulez le comportement de l'application par rapport au nouveau projet.