Informazioni sulla fatturazione di Cloud Firestore

Questo documento spiega i dettagli dei prezzi di Cloud Firestore.

Se la valuta utilizzata per il pagamento è diversa da USD, si applicano i prezzi elencati nella tua valuta negli SKU di Cloud Platform.

Panoramica dei prezzi

Quando utilizzi Cloud Firestore, ti viene addebitato quanto segue:

  • Il numero di documenti che leggi, scrivi ed elimini.
  • Il numero di voci di indice lette per soddisfare una query. Scopri di più sulle letture di indici.
  • Lo spazio di archiviazione utilizzato dal tuo database, incluso l'overhead per metadati e indici.
  • La quantità di larghezza di banda di rete utilizzata.

L'utilizzo dello spazio di archiviazione e della larghezza di banda è misurato in gibibyte (GiB), dove 1 GiB = 230 byte. Tutti gli addebiti vengono sommati ogni giorno.

Le sezioni seguenti forniscono dettagli su come ti vengono addebitati i costi per l' Cloud Firestore utilizzo.

Quota senza costi

Cloud Firestore offre una quota senza costi che ti consente di iniziare senza alcun costo. Se hai bisogno di quote superiori, devi abilitare la fatturazione per il tuo Google Cloud progetto.

Le quote sono applicate giornalmente e reimpostate alla mezzanotte del fuso orario del Pacifico.

La tabella seguente riassume gli importi delle quote senza costi:

Livello senza costi Quota
Dati archiviati 1 GiB
Operazioni di lettura documenti 50.000 al giorno
Operazioni di scrittura documenti 20.000 al giorno
Operazioni di eliminazione documenti 20.000 al giorno
Trasferimento di dati in uscita 10 GiB al mese

Le seguenti operazioni e funzionalità non includono l'utilizzo senza costi. Devi abilitare la fatturazione per utilizzare queste funzionalità:

  • Eliminazioni TTL
  • Dati PITR
  • Esegui il backup dei dati
  • Operazioni di ripristino
  • Operazioni di clonazione

Per ulteriori informazioni su come vengono fatturate queste funzionalità, consulta Prezzi dello spazio di archiviazione.

Prezzi per località

Per visualizzare i prezzi per letture, scritture, eliminazioni e spazio di archiviazione per ogni Cloud Firestore località, consulta Google Cloud prezzi.

Se la valuta utilizzata per il pagamento è diversa da USD, si applicano i prezzi elencati nella tua valuta negli SKU di Cloud Platform.

La quota senza costi si applica a un solo database per progetto

I progetti possono avere un solo database idoneo per la quota senza costi.

Per creare database aggiuntivi, devi eseguire l'upgrade del piano di fatturazione del progetto.

Il primo database che crei (indipendentemente dal suo ID) è idoneo per la quota senza costi. Se elimini il database, il successivo database che crei diventa il nuovo database idoneo per la quota senza costi.

Non sono previsti costi aggiuntivi per la creazione o l'eliminazione di database. Tutti i database successivi verranno addebitati in base all'utilizzo sostenuto per questi database.

Operazioni di lettura, scrittura ed eliminazione

Ti vengono addebitati i costi per i documenti e le voci di indice letti per soddisfare una query. Ti vengono addebitati i costi per ogni operazione di scrittura ed eliminazione di documenti eseguita.

Gli addebiti per le operazioni di scrittura ed eliminazione sono semplici. Per la scrittura, ogni set o update operazione conta come un'unica scrittura.

Gli addebiti per le operazioni di lettura possono presentare alcune sottigliezze di cui devi tenere conto. Tali sottigliezze vengono spiegate in dettaglio nelle sezioni che seguono.

Letture di voci di indice

Ti viene addebitata un'operazione di lettura per ogni batch di massimo 1000 voci di indice lette da una query, tranne nei seguenti casi:

  • Per le query di ricerca vettoriale per K-Nearest Neighbor , ti viene addebitata un'operazione di lettura per ogni batch di massimo 100 voci di indice vettoriale kNN lette dalla query.

    Ad esempio, se la seguente query di ricerca vettoriale con limit: 5 restituisce 5 documenti e legge 1550 voci di indice vettoriale kNN, ti vengono addebitate 5 operazioni di lettura per i documenti restituiti e 16 operazioni di lettura per le voci di indice:

    // Requires single-field vector index
    const vectorQuery: VectorQuery = db.collection('cities').findNearest('embedding_field', FieldValue.vector([3.0, 1.0, 2.0]), {
      limit: 5,
      distanceMeasure: 'EUCLIDEAN'
    });
    
  • Le query con un massimo di un campo di intervallo non vengono addebitate per le voci di indice lette.

    Ad esempio, la seguente query contiene un campo di uguaglianza (age) e un campo di intervallo (start_date) e non viene addebitata per le voci di indice lette:

    db.collection("employees").whereEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

    La seguente query contiene due campi di intervallo (age e start_date) e viene addebitata per le letture di voci di indice:

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

    Un campo che appare nella clausola order by è considerato un campo di intervallo quando nella query è presente almeno un altro campo di intervallo. Pertanto, la seguente query contiene due campi di intervallo (age e start_date) e viene addebitata per le letture di voci di indice:

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .orderBy("start_date")
    

    Il campo __name__ è sempre considerato un campo di intervallo, anche se viene utilizzato solo in un filtro di uguaglianza. Pertanto, la seguente query contiene due campi di intervallo (age e __name__) e viene addebitata per le letture di voci di indice:

    db.collection("employees").whereIn("__name__", Arrays.asList("/employees/Alice", "/employees/Bob"))
                              .orderBy("age")
    

Query di aggregazione

Per le query di aggregazione come count(), sum(), e avg(), ti vengono addebitati i costi per le voci di indice lette dalla query come descritto sopra. Per le query di aggregazione che leggono 0 voci di indice , è previsto un addebito minimo, corrispondente alla lettura di un documento.

Ad esempio, le operazioni count() che leggono tra 0 e 1000 voci di indice vengono addebitate per la lettura di un documento. Per un'operazione count() che legge 1500 voci di indice, ti vengono addebitate 2 letture di documenti.

Per scoprire di più sugli indici utilizzati e sulle voci di indice lette, utilizza Spiegazione query.

Ascolto dei risultati delle query

Cloud Firestore ti consente di rimanere in ascolto dei risultati di una query e ricevere aggiornamenti in tempo reale quando i risultati della query cambiano.

Quando esegui l'ascolto dei risultati di una query, ti viene addebitata una lettura ogni volta che viene aggiunto o aggiornato un documento nel set di risultati. Ti viene addebitata una lettura anche quando un documento viene rimosso dal set di risultati perché è stato modificato (invece, quando un documento viene eliminato, non viene addebitata una lettura).

La fatturazione dei listener negli SDK per dispositivi mobili e web dipende anche dall'abilitazione o meno della persistenza offline:

  • Se la persistenza offline è abilitata e il listener viene disconnesso per più di 30 minuti (ad esempio, se l'utente è offline), ti vengono addebitati i costi per i documenti e le voci di indice letti come se avessi inviato una nuova query.

  • Se la persistenza offline è disabilitata, ti vengono addebitati i costi per i documenti e le voci di indice letti come se avessi inviato una nuova query ogni volta che il listener si disconnette e si riconnette.

Gestione di grandi set di risultati

Cloud Firestore offre diverse funzionalità che ti aiutano a gestire le query che restituiscono un numero elevato di risultati:

  • Cursori, che consentono di riprendere una query a lunga esecuzione.
  • Token di pagina, che consentono di impaginare i risultati della query.
  • Limiti, che specificano il numero di risultati da recuperare.
  • Offset, che consentono di saltare un numero fisso di documenti.

Non sono previsti costi aggiuntivi per l'uso di cursori, token di pagina e limiti. In effetti, queste funzionalità contribuiscono a conseguire risparmi in termini di costi poiché vengono letti solo i documenti effettivamente necessari.

Invece, quando invii una query che comprende un offset, ti viene addebitata una lettura per ciascun documento saltato. Ad esempio, se la tua query utilizza un offset di 10, e la query restituisce 1 documento, ti vengono addebitate 11 letture. A causa di questo costo aggiuntivo, ove possibile si dovrebbero utilizzare i cursori, anziché gli offset.

Query diverse dalla lettura di documenti

Per le query diverse dalla lettura di documenti, come la richiesta di un elenco di ID raccolta, ti verrà addebitato il costo della lettura di un documento. Se il recupero del set completo di risultati richiede più di una richiesta (ad esempio, se si utilizza l'impaginazione), viene eseguito un unico addebito per ogni richiesta.

Addebito minimo per le query

È previsto un addebito minimo, corrispondente alla lettura di un documento, per ogni query eseguita, anche se la query non restituisce risultati.

Cloud Firestore Security Rules

Nel caso delle librerie client per applicazioni web o per dispositivi mobili, se le Cloud Firestore Security Rules utilizzano exists(), get(), o getAfter() per leggere uno o più documenti dal database, le letture aggiuntive vengono addebitate come segue:

  • Ti vengono addebitati i costi per le letture necessarie per valutare le Cloud Firestore Security Rules.

    Ad esempio, se le regole fanno riferimento a tre documenti, ma Cloud Firestore deve leggerne solo due per valutare le regole, verranno addebitate due letture aggiuntive per i documenti dipendenti.

    Viene addebitata una sola lettura per ogni documento dipendente, anche se le regole fanno riferimento più volte a quel documento.

  • La valutazione delle regole viene addebitata una sola volta per ogni richiesta.

    Di conseguenza, può costare meno leggere più documenti che leggere i documenti uno alla volta, perché la lettura di più documenti comporta meno richieste.

  • Quando esegui l'ascolto dei risultati di una query, ti viene addebitato il costo della valutazione delle regole in tutti i casi seguenti:

    • Quando invii la query.
    • Ogni volta che i risultati della query vengono aggiornati.
    • Ogni volta che il dispositivo dell'utente passa offline, quindi torna online.
    • Ogni volta che aggiorni le regole.
    • Ogni volta che aggiorni i documenti dipendenti nelle regole.

Dimensioni dello spazio di archiviazione del database

Ti viene addebitata la quantità di dati archiviati in Cloud Firestore, incluso l'overhead di archiviazione. L'overhead comprende metadati, indici automatici e indici composti.

Ogni documento archiviato in Cloud Firestore richiede i seguenti metadati:

  • L'ID del documento, compresi l'ID raccolta e il nome del documento.
  • Il nome e il valore di ogni campo. Poiché Cloud Firestore è privo di schemi, il nome di ogni campo di un documento deve essere archiviato insieme al valore del campo.
  • Tutti gli indici a campo singolo e composti che fanno riferimento al documento. Ogni voce di indice contiene l'ID raccolta, qualsiasi numero di valori di campo, a seconda della definizione dell'indice , e il nome del documento.

I costi di archiviazione sono in GiB/mese e vengono calcolati giornalmente. Cloud Firestore misura le dimensioni del database ogni giorno. Nel periodo di un mese, questi punti di campionamento vengono mediati per calcolare le dimensioni dello spazio di archiviazione del database. Questo valore medio viene moltiplicato per il prezzo unitario dello spazio di archiviazione (GiB-mese).

Scopri come viene calcolata la capacità di archiviazione di Cloud Firestore in Calcoli dello spazio di archiviazione.

Dati PITR

Se abiliti PITR, ti viene addebitato il costo dello spazio di archiviazione dei dati PITR. La maggior parte dei clienti scoprirà che il costo complessivo dello spazio di archiviazione dei dati PITR è simile al costo dello spazio di archiviazione del database.

I costi di archiviazione per PITR sono in GiB/mese e vengono calcolati giornalmente. Cloud Firestore misura le dimensioni del database ogni giorno. Nel periodo di un mese, questi punti di campionamento vengono mediati per calcolare le dimensioni dello spazio di archiviazione del database. Questo valore medio viene moltiplicato per il prezzo unitario di PITR (GiB-mese).

Ad esempio, se le dimensioni medie del database durante un mese sono di 1 GiB e PITR è abilitato per l'intero mese, anche le dimensioni dei dati PITR fatturabili sono di 1 GiB.

Fatturazione minima: ti potrebbe essere addebitato il costo dello spazio di archiviazione PITR per un massimo di 1 giorno, anche se ti disabiliti PITR entro un giorno dall'abilitazione.

Dati di backup e operazioni di ripristino

Se abiliti i backup, ti viene addebitato il costo dello spazio di archiviazione dei backup del database. Le dimensioni dello spazio di archiviazione di un backup sono uguali alle dimensioni dello spazio di archiviazione del database al momento dell'esecuzione del backup.

I costi di archiviazione per i backup sono in GiB/mese. Nel periodo di un mese, viene calcolato anche il numero di giorni per cui ogni backup viene conservato, in media nel corso del mese. Il costo di ogni backup viene calcolato utilizzando le dimensioni dello spazio di archiviazione del backup moltiplicate per la proporzione del mese in cui il backup viene conservato, moltiplicate per il prezzo unitario. Ai fini della fatturazione, i limiti giornalieri sono definiti dal fuso orario America/Los_Angeles per.

Quando esegui un'operazione di ripristino, Cloud Firestore misura le dimensioni del backup per l'operazione di ripristino. Le dimensioni del backup vengono moltiplicate per il prezzo unitario delle operazioni di ripristino (GiB).

Spiegazione query

L'utilizzo di Spiegazione query di Firestore comporta dei costi.

Quando una query viene spiegata con l'opzione predefinita, non vengono eseguite operazioni di lettura dell'indice. Indipendentemente dalla complessità della query, viene addebitata un'operazione di lettura.

Quando una query viene spiegata con l'opzione di analisi, vengono eseguite operazioni di indice e lettura, quindi ti viene addebitato il costo della query come di consueto. Non sono previsti costi aggiuntivi per l'attività di spiegazione e analisi, ma solo il costo normale per la query in esecuzione.

Larghezza di banda della rete

Ti viene addebitata la larghezza di banda della rete utilizzata dalle tue Cloud Firestore richieste, come mostrato nelle sezioni seguenti. Il costo della larghezza di banda della rete di una Cloud Firestore richiesta dipende dalle dimensioni della risposta alla richiesta, dalla località del tuo Cloud Firestore database e dalla destinazione della risposta.

Cloud Firestore calcola le dimensioni della risposta in base a un formato di messaggio serializzato. L'overhead del protocollo, come l'overhead SSL, non conta ai fini dell'utilizzo della larghezza di banda della rete. Le richieste rifiutate in base alle regole di sicurezza di Cloud Firestore non contano ai fini dell'utilizzo della larghezza di banda della rete.Cloud Firestore Security Rules

Per conoscere la larghezza di banda della rete che hai utilizzato, puoi utilizzare la console Google Cloud per esportare i dati di fatturazione in un file.

Prezzi generali di rete

Per le richieste che provengono da Google Cloud Platform (ad esempio, da un'applicazione in esecuzione su Google Compute Engine), ti vengono addebitati i seguenti costi:

Tipo di traffico Prezzo
Trasferimento di dati in entrata Nessun costo
Trasferimento di dati all'interno di una regione Nessun costo
Trasferimento di dati tra regioni nella stessa località a più regioni Nessun costo
Trasferimento di dati tra regioni negli Stati Uniti (per GiB) 0,01 $ (per i primi 10 GiB di ogni mese non viene addebitato alcun costo)
Trasferimento di dati tra regioni, escluso il traffico tra regioni negli Stati Uniti Tariffe per il trasferimento di dati in uscita da internet di Google Cloud Platform

Se la valuta utilizzata per il pagamento è diversa da USD, si applicano i prezzi elencati nella tua valuta negli SKU di Cloud Platform.

Cloud Firestore è soggetto anche a costi aggiuntivi per il traffico in uscita da internet per quanto segue:

  • Richieste Google Cloud tra regioni, escluso il traffico tra regioni negli Stati Uniti
  • Richieste esterne a Google Cloud (ad esempio, dal dispositivo mobile di un utente )

Consulta le tariffe per il traffico in uscita da internetGoogle Cloud.

Visualizza un esempio di prezzi

Per vedere come si accumulano i costi di fatturazione di Cloud Firestore in un'app di esempio realistica, guarda l'esempio di fatturazione di Cloud Firestore.

Gestire le spese

Per evitare addebiti imprevisti sulla fattura, imposta budget e avvisi mensili utilizzando Google Cloud's console di fatturazione.

Per monitorare l'utilizzo di Cloud Firestore, apri la scheda Cloud Firestore Utilizzo nella console Firebase. Utilizza la dashboard per valutare l'utilizzo in diversi periodi di tempo.