Dimensioni dello spazio di archiviazione

Questa pagina descrive le dimensioni di archiviazione di documenti, campi e voci di indice in Cloud Firestore.

Puoi scoprire di più sui costi di questo spazio di archiviazione nella pagina Prezzi.

Dimensioni della stringa

Le dimensioni delle stringhe vengono calcolate come il numero di byte con codifica UTF-8 + 1.

I seguenti elementi vengono archiviati come stringhe:

  • Nome raccolta
  • Nomi dei campi
  • Valori dei campi stringa (incluso _id)

Ad esempio:

  • Il nome della raccolta tasks utilizza 5 byte + 1 byte, per un totale di 6 byte.
  • Il nome del campo description utilizza 11 byte + 1 byte, per un totale di 12 byte.

Dimensione del valore del campo

La tabella seguente mostra le dimensioni dei valori dei campi in base al tipo.

Tipo Dimensioni
Array La somma delle dimensioni dei suoi valori
Booleano 1 byte
Dati binari Lunghezza in byte + 1 per un sottotipo non generico (diverso da 0)
Data 8 byte
Doppio 8 byte
Double128 16 byte
Numero intero a 32 bit 4 byte
Numero intero a 64 bit (long) 8 byte
Oggetto La somma delle dimensioni delle stringhe di ogni nome di campo e delle dimensioni di ogni valore di campo nell'oggetto incorporato
Chiave minima 1 byte
Chiave Max 1 byte
Null 1 byte
Espressione regolare (Lunghezza del pattern + 1) + (Lunghezza delle opzioni + 1)
Timestamp 8 byte
Stringa Numero di byte con codifica UTF-8 + 1

Ad esempio, un campo booleano denominato done utilizzerebbe 6 byte:

  • 5 byte per il nome del campo done
  • 1 byte per il valore booleano

Dimensioni del documento

Le dimensioni di un documento sono la somma di:

Questo esempio riguarda un documento nella raccolta tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

La dimensione totale dei campi è di 78 byte:

Nome e valore del campo Dimensioni del campo in byte
"_id": "my_task_id" 11 per il valore di stringa del campo
"type": "Personal" 14
5 per il nome del campo + 9 per il valore della stringa del campo
"done": false 6
5 per il nome del campo + 1 per il valore booleano del campo
"priority": 1 17
9 per il nome del campo + 4 per il valore intero a 32 bit del campo
"description": "Learn Cloud Firestore" 34
12 per il nome del campo + 22 per il valore della stringa del campo

Pertanto, le dimensioni del documento sono 6 + 78 + 48 = 132 byte:

  • 6 per il nome della raccolta
  • 78 byte per i campi
  • 48 byte aggiuntivi

Dimensioni della voce dell'indice

La dimensione di una voce di indice in un indice è la somma di:

Considera un documento nella raccolta tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

Per un indice sui campi done e priority (entrambi in ordine crescente), la dimensione totale della voce di indice in questo indice è di 70 byte:

  • 6 byte per il nome della raccolta tasks
  • 11 byte per il valore del campo _id
  • 1 byte per il valore del campo booleano
  • 4 byte per il valore del campo intero a 32 bit
  • 48 byte aggiuntivi

Per gli indici sparsi, se un documento non include nessuno dei campi, non viene creata alcuna voce di indice. Se un documento contiene almeno uno dei campi indicizzati, viene creata una voce di indice con i campi indicizzati assenti impostati su NULL.

Dimensioni della voce dell'evento del flusso di modifiche

La dimensione di un evento del feed delle modifiche in tempo reale è il totale di:

  • La somma della dimensione della stringa del nome della raccolta (x2).
  • Per gli eventi di inserimento e aggiornamento di un documento:
    • La somma della dimensione della stringa di ogni nome di campo in fullDocument o updateDescription (ad eccezione di _id).
    • La somma delle dimensioni di ogni valore di campo in fullDocument o updateDescription. (incluso _id).
  • Se applicabile alle transazioni con più documenti, altri 24 byte per lsid e txnNumber.
  • 92 byte aggiuntivi

Considera un esempio di evento di inserimento per un documento nella raccolta di attività:

{
  "_id": { <Resume Token> },
  "operationType": "insert",
  "clusterTime": <Timestamp>,
  "wallTime": <ISODate>,
  "ns": {
     "db": "db",
     "coll": "tasks"
  },
  "documentKey": {
     "_id": "my_task_id"
  },
  "fullDocument": {
     "_id": "my_task_id",
     "description": "Learn Cloud Firestore"
  },
}

La dimensione totale dell'evento delle modifiche in tempo reale è di 149 byte:

  • 92 byte per i metadati generali
  • 12 byte in base al nome della raccolta tasks (6 byte) * 2
  • 11 byte per il valore del campo _id
  • 12 byte per il nome del campo description
  • 22 byte per il valore del campo description

Dimensioni della voce dell'indice di ricerca testuale

La dimensione di una voce dell'indice della Ricerca testuale in un indice è la somma di:

  • La dimensione della stringa del nome della raccolta
  • La dimensione del valore _id
  • La somma dei byte dei valori dei campi indicizzati (x2)
  • 48 byte aggiuntivi per i metadati generali

Considera un esempio di evento di inserimento per un documento con _id my_task_id nella raccolta tasks:

{
    "_id": "my_place",
     "type": "Restaurant",
     "visited": false,
     "priority": 1,
     "location": GeoPoint(longitude, latitude)
}

La dimensione totale di una voce dell'indice della Ricerca testuale su description è di 105 byte in base a:

  • 6 byte per il nome della raccolta tasks
  • 11 byte per il valore _id
  • 44 byte, in base a 22 byte per il campo description x2
  • 48 byte aggiuntivi per i metadati generali

Dimensioni delle voci dell'indice geospaziale

La dimensione di una voce di indice geospaziale in un indice è la somma di:

  • La dimensione della stringa del nome della raccolta
  • La dimensione del valore _id
  • 128 byte per ogni punto geografico indicizzato
  • 48 byte aggiuntivi per i metadati generali

Considera un esempio di evento di inserimento per un documento con _id my_place nella raccolta places:

{
    "_id": "my_place",
     "type": "Restaurant",
     "visited": false,
     "priority": 1,
     "location": GeoPoint(longitude, latitude)
}

La dimensione totale di una voce dell'indice geospaziale su location è di 192 byte in base a:

  • 7 byte per il nome della raccolta places
  • 9 byte per l'ID documento
  • 128 byte per il campo location
  • 48 byte aggiuntivi per i metadati generali

Passaggi successivi

Scopri di più sui prezzi.