Prezzi

Questo documento spiega i dettagli sui prezzi di Firestore. Spiega inoltre come limitare e monitorare la spesa su 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 Firestore, ti viene addebitato quanto segue:

  • Il numero di operazioni di lettura, scrittura ed eliminazione che esegui.
  • 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 gigabyte (GiB), dove 1 GiB = 230 byte. Tutti gli addebiti vengono sommati ogni giorno.

Le sezioni che seguono forniscono dettagli sul modo in cui viene addebitato l'utilizzo di Firestore.

Prezzi per località

La tabella riportata di seguito elenca i prezzi per letture, scritture, eliminazioni e spazio di archiviazione per ciascuna località Firestore:

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

Operazioni di lettura, scrittura ed eliminazione

Ti viene addebitata ogni operazione di lettura, scrittura ed eliminazione di documenti che esegui con Firestore.

Gli addebiti per le operazioni di scrittura ed eliminazione sono semplici. Per la scrittura, ogni operazione set o update 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.

Ascolto dei risultati delle query

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).

Inoltre, se il listener viene scollegato per più di 30 minuti (ad esempio, se l'utente è offline), vengono addebitate le letture come se fosse stata inviata una nuova query.

Gestione di grandi set di risultati

Firestore include numerose funzionalità per la gestione delle 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.

Regole di sicurezza di Firestore

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

  • Vengono addebitate le letture necessarie per valutare le regole di sicurezza di Firestore.

    Ad esempio, se le regole fanno riferimento a tre documenti, ma 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

Ti viene addebitata la quantità di dati archiviati in Firestore, incluso l'overhead di archiviazione. L'overhead comprende metadati, indici automatici e indici composti. Ogni documento archiviato in 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é 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.

Scopri come viene calcolata la capacità di archiviazione di Firestore in Calcoli dello spazio di archiviazione. Puoi visualizzare la quantità di spazio di archiviazione utilizzata dal database visitando la pagina dei dettagli delle quote di App Engine in Cloud Console.

Larghezza di banda della rete

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

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 Firestore non contano ai fini dell'utilizzo della larghezza di banda della rete.

Per conoscere la larghezza di banda della rete che hai utilizzato, puoi utilizzare Cloud Console 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
In entrata Nessun costo
In uscita all'interno di un'area geografica Nessun costo
In uscita tra aree geografiche nella stessa località a più aree geografiche Nessun costo
In uscita tra aree geografiche negli USA (per GiB) $ 0,01 (per i primi 10 GiB di ogni mese non viene addebitato alcun costo)
In uscita tra aree geografiche, escluso il traffico tra aree geografiche negli USA Tariffe per il traffico 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.

Tariffe per il traffico in uscita da Internet

Ti verrà addebitato il costo del traffico in uscita da Internet per ciò che segue:

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

Monitoraggio dell'utilizzo

Puoi visualizzare l'utilizzo giornaliero di Firestore nella pagina Quote di App Engine:

Vai alla pagina Quote

Gestione della spesa

Per gestire la spesa, imposta budget mensili e avvisi.

Budget e avvisi di Google Cloud

Google Cloud ti consente di impostare un budget mensile per tutti i servizi Google Cloud. Utilizza il budget mensile per monitorare i costi globali di Google Cloud, inclusi i costi della larghezza di banda della rete per Firestore. Dopo aver impostato un budget, puoi impostare gli avvisi in modo da ricevere notifiche via email man mano che i costi si avvicinano al budget.

I costi che valgono per il limite di spesa di App Engine valgono anche per il budget mensile.

Segui queste istruzioni per impostare un budget mensile e creare avvisi in Cloud Console.

Limite di spesa di App Engine

App Engine ti consente di impostare un limite di spesa giornaliero per App Engine e le risorse associate, inclusi i database Datastore e Firestore. Il limite è approssimativo e dovrebbe essere abbastanza grande da gestire i picchi nell'uso delle risorse. Dopo aver superato il limite di spesa giornaliero, tutte le operazioni di Firestore che non rientrano nella quota gratuita avranno esito negativo.

Esempio di prezzi

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