Panoramica delle interfacce di query
Questa pagina descrive le diverse interfacce disponibili per accedere ai dati in un database Firestore in modalità Native.
Interfacce di operazioni
Firestore in modalità Native supporta due interfacce per l'accesso ai dati:
Operazioni pipeline
La nuova interfaccia di query per Firestore. Le operazioni della pipeline supportano una sintassi componibile basata sulle fasi. Costruisci un'operazione definendo una serie di fasi sequenziali che vengono eseguite in ordine. Ciò consente operazioni complesse, come il filtro sul risultato di un'aggregazione, che in precedenza non era possibile nell'interfaccia originale (operazioni di base).
Le operazioni della pipeline sono disponibili solo nella versione Firestore Enterprise e si trovano nella fase di lancio Anteprima.
Operazioni principali
Le operazioni di base sono l'interfaccia originale per Firestore.
Le operazioni di base utilizzano una sintassi di concatenamento dei metodi (.where(), .orderBy(), .get())
sui riferimenti a documenti o raccolte per recuperare i documenti.
L'ordinamento delle fasi della query è implicito e il supporto dell'aggregazione è limitato.
Le operazioni di base sono disponibili sia nelle versioni Enterprise che Standard, ma i valori predefiniti dell'indice sono molto diversi tra le versioni. Per ulteriori dettagli, consulta la sezione successiva.
Differenze di interfaccia tra le versioni
Con l'introduzione del supporto di Firestore in modalità Native nella versione Enterprise, sono disponibili sia le operazioni Firestore Core che Pipeline. Quando utilizzi le operazioni principali in Enterprise, il nuovo comportamento dell'indice e il modello di prezzi rimuovono molte delle limitazioni della versione Standard.
| Funzionalità | Versione Standard | Versione Enterprise |
| Operazioni di query supportate | Limitato alle operazioni di Firestore Core. | Supporta le operazioni principali e di pipeline di Firestore e le operazioni compatibili con Firestore con MongoDB. |
| Requisito di indicizzazione | Tutte le query richiedono indici. | Gli indici non sono obbligatori per le query. |
| Creazione dell'indice | Gli indici automatici vengono creati per i singoli campi. Puoi creare manualmente indici composti. | Non vengono creati indici automatici. Gli indici devono essere gestiti manualmente. |
| Rendimento e costo delle query | Le query sono generalmente efficienti grazie ai requisiti di indice. | Ottimizza le prestazioni e i costi delle query creando indici. Puoi identificare gli indici mancanti utilizzando Query Explain e Query Insights.
Le query senza indici potrebbero rischiare di essere inefficienti e costose man mano che il set di dati cresce, richiedendo monitoraggio e ottimizzazione. |
| Costo generale di indicizzazione | Nessun addebito per le scritture di indice, poiché gli indici sono automatici. | La scrittura delle voci di indice consuma unità di scrittura quando viene scritto un documento associato (1 unità di scrittura per 1 KiB di dimensioni della voce di indice). Risparmi sui costi di archiviazione perché non crei voci di indice per ogni campo. |
| Modello di fatturazione (letture/scritture/eliminazioni) | Addebito per ogni operazione di lettura, scrittura ed eliminazione di documenti. | Addebito per lettura e scrittura (tranche). Le letture vengono addebitate in unità di lettura (tranche da 4 KiB). Le scritture e le eliminazioni vengono unite in unità di scrittura (tranche da 1 KiB). |
| Prezzi base (per milione)
I prezzi mostrati si riferiscono alla regione us-central1 |
Letture: 0,03$ogni 100.000 documenti (o 0,30 $per milione).
Scrive: 0,09$ogni 100.000 documenti (o 0,90 $per milione). Eliminazioni: 0,01$ogni 100.000 documenti (o 0,10 $per milione) |
Unità di lettura: 0,05$per 1 milione di unità di lettura.
Unità di scrittura: 0,26$per 1 milione di unità di scrittura. I prezzi sono generalmente inferiori se i documenti sono inferiori a 4 KiB rispetto al costo di lettura standard. |
| Aggiornamenti in tempo reale
I prezzi mostrati si riferiscono alla regione us-central1 |
Gli aggiornamenti in tempo reale sono inclusi e vengono fatturati come letture a 0,03 $ogni 100.000 documenti. | Gli aggiornamenti in tempo reale hanno un nuovo SKU separato (Unità di aggiornamento in tempo reale), addebitato per tranche di 4 KiB. Gli aggiornamenti in tempo reale costano 0,30$per milione di unità di lettura. |