Présentation des interfaces de requête
Cette page décrit les différentes interfaces disponibles pour accéder aux données d'une base de données Firestore en mode natif.
Interfaces d'opération
Firestore en mode natif est compatible avec deux interfaces d'accès aux données :
Opérations de pipeline
Nouvelle interface de requête pour Firestore. Les opérations de pipeline sont compatibles avec une syntaxe composable basée sur des étapes. Vous créez une opération en définissant une série d'étapes séquentielles qui sont exécutées dans l'ordre. Cela permet d'effectuer des opérations complexes, comme le filtrage sur le résultat d'une agrégation, ce qui n'était pas possible auparavant dans l'interface d'origine (opérations de base).
Les opérations de pipeline ne sont disponibles que dans l'édition Enterprise de Firestore et sont en phase de lancement Preview.
Opérations principales
Les opérations de base sont l'interface d'origine de Firestore.
Les opérations de base utilisent une syntaxe d'enchaînement de méthodes (.where(), .orderBy(), .get()) sur les références de documents ou de collections pour récupérer des documents.
L'ordre des étapes de la requête est implicite et la compatibilité avec l'agrégation est limitée.
Les opérations de base sont disponibles dans les éditions Enterprise et Standard, mais les paramètres par défaut de l'index sont très différents entre les éditions. Pour en savoir plus, consultez la section suivante.
Différences d'interface entre les éditions
Avec l'introduction de la compatibilité avec le mode natif de Firestore dans l'édition Enterprise, les opérations Firestore Core et Pipeline sont disponibles. Lorsque vous utilisez des opérations de base dans l'édition Enterprise, le nouveau comportement d'index et le nouveau modèle de tarification suppriment de nombreuses restrictions de l'édition Standard.
| Fonctionnalité | Édition Standard | Édition Enterprise |
| Opérations de requête compatibles | Limité aux opérations Firestore Core. | Compatible avec les opérations Firestore Core et de pipeline, ainsi qu'avec les opérations Firestore compatibles avec MongoDB. |
| Exigences d'indexation | Toutes les requêtes nécessitent des index. | Les index ne sont pas obligatoires pour les requêtes. |
| Création d'index | Des index automatiques sont créés pour les champs uniques. Vous pouvez créer manuellement des index composites. | Aucun index automatique n'est créé. Les index doivent être gérés manuellement. |
| Performances et coût des requêtes | Les requêtes sont généralement performantes en raison des exigences liées aux index. | Optimisez les performances et les coûts des requêtes en créant des index. Vous pouvez identifier les index manquants à l'aide de Query Explain et Query Insights.
Les requêtes sans index peuvent être peu performantes et coûteuses à mesure que l'ensemble de données augmente, ce qui nécessite une surveillance et un réglage. |
| Coût de surcharge d'indexation | L'écriture d'index est sans frais, car les index sont automatiques. | L'écriture d'entrées d'index consomme des unités d'écriture lorsqu'un document associé est écrit (1 unité d'écriture par 1 Kio de taille d'entrée d'index). Vous réduisez les coûts de stockage en ne créant pas d'entrées d'index pour chaque champ. |
| Modèle de facturation (lectures/écritures/suppressions) | Facturé par lecture, écriture et suppression de document. | Facturé par lecture et écriture (tranche). Les lectures sont facturées en unités de lecture (tranches de 4 Kio). Les écritures et les suppressions sont regroupées en unités d'écriture (tranches de 1 Kio). |
| Prix de base (par million)
Les prix affichés concernent la région us-central1. |
0,03$pour 100 000 documents (ou 0,30 $par million).
Écritures : 0,09$pour 100 000 documents (ou 0,90 $par million). Suppression : 0,01$pour 100 000 documents (ou 0,10 $par million) |
Unités de lecture : 0,05$par million d'unités de lecture.
Unités d'écriture : 0,26$par million d'unités d'écriture. Les prix sont généralement plus bas si les documents font moins de 4 kio que le coût de lecture standard. |
| Mises à jour en temps réel
Les prix affichés concernent la région us-central1. |
Les mises à jour en temps réel sont incluses et facturées en tant que lectures à 0,03 $pour 100 000 documents. | Les mises à jour en temps réel disposent d'un nouveau SKU distinct (unités de mises à jour en temps réel), facturé par tranche de 4 Kio. Les mises à jour en temps réel coûtent 0,30$par million d'unités de lecture. |