Statistiche di Datastore

Firestore in modalità Datastore conserva le statistiche sui dati archiviati per un'applicazione, come il numero di entità di un determinato tipo o la quantità di spazio utilizzata dai valori delle proprietà di un determinato tipo. Puoi visualizzare queste statistiche nella console Google Cloud. Apri la pagina Dashboard o esegui una query GQL nel formato SELECT * FROM __Stat_Kind__ dalla pagina Entità.

Puoi anche accedere a questi valori in modo programmatico all'interno dell'applicazione eseguendo query sulle entità con nomi speciali mediante l'API Datastore. Ogni statistica è accessibile come entità il cui nome del tipo inizia e termina con due trattini bassi. Ad esempio, ogni app ha esattamente un'entità del tipo __Stat_Total__ che rappresenta le statistiche di tutte le entità in modalità Datastore. Ogni entità statistica ha le seguenti proprietà:

  • count, il numero di elementi considerati dalla statistica (un numero intero lungo)
  • bytes, la dimensione totale degli elementi di questa statistica (un numero intero lungo)
  • timestamp, l'ora dell'ultimo aggiornamento della statistica (un valore di data-ora)

Alcuni tipi di statistiche presentano anche proprietà aggiuntive, elencate di seguito.

Quando il sistema statistico crea nuove entità statistiche, non elimina immediatamente quelle precedenti. Il modo migliore per ottenere una visione coerente delle statistiche è eseguire una query sull'entità statistica con il valore timestamp più recente, quindi utilizzare quel valore timestamp come filtro quando si recupera altre entità statistiche.

Le entità statistiche sono incluse nei valori statistici calcolati. Le entità statistiche occupano spazio rispetto al numero di tipi e nomi di proprietà univoci utilizzati dall'applicazione.

Il sistema delle statistiche creerà inoltre statistiche specifiche per ogni spazio dei nomi. Tieni presente che se un'applicazione non utilizza gli spazi dei nomi, non verranno create statistiche specifiche per lo spazio dei nomi. Le statistiche specifiche dello spazio dei nomi si trovano nello spazio dei nomi per cui sono specifiche. I nomi dei tipi per le statistiche specifiche dello spazio dei nomi sono preceduti dal prefisso __Stat_Ns_ e hanno lo stesso suffisso corrispondente dei tipi di statistiche a livello di applicazione.

Elenco delle statistiche

L'elenco completo delle statistiche disponibili è il seguente:

Statistica Tipo entità statistica Descrizione
tutte le entità __Stat_Total__
Voce specifica per lo spazio dei nomi:
__Stat_Ns_Total__
Tutte le entità. Proprietà aggiuntive:

entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
builtin_index_bytes: lo spazio di archiviazione in voci di indice integrate misurate in byte.
builtin_index_count: il conteggio delle voci di indice integrate.
composite_index_bytes: l'archiviazione in voci di indice composte misurata in byte.
composite_index_count: il conteggio delle voci di indici composti.
tutte le entità in uno spazio dei nomi __Stat_Namespace__
Tieni presente che le entità __Stat_Namespace__ vengono create per ogni spazio dei nomi rilevato e si trovano solo nello spazio dei nomi della stringa vuota.
Tutte le entità in uno spazio dei nomi.

subject_namespace, lo spazio dei nomi rappresentato (una stringa)
entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
builtin_index_bytes: lo spazio di archiviazione in voci di indice integrate misurate in byte.
builtin_index_count: il conteggio delle voci di indice integrate.
composite_index_bytes: l'archiviazione in voci di indice composte misurata in byte.
composite_index_count: il conteggio delle voci di indici composti.
tutte le voci negli indici definiti dall'applicazione __Stat_Kind_CompositeIndex__
Voce specifica per lo spazio dei nomi: __Stat_Ns_Kind_CompositeIndex__
Voci nella tabella dell'indice composto; un'entità statistica per ogni tipo di entità archiviata. Proprietà aggiuntive:

index_id, l'ID indice.
kind_name, il nome del tipo rappresentato (una stringa)
entità di un tipo __Stat_Kind__
Voce specifica per lo spazio dei nomi:
__Stat_Ns_Kind__
Entità di un tipo: un'entità statistica per ogni tipo di entità archiviata. Proprietà aggiuntive:

kind_name, il nome del tipo rappresentato (una stringa)
entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
builtin_index_bytes: lo spazio di archiviazione in voci di indice integrate misurate in byte.
builtin_index_count: il conteggio delle voci di indice integrate.
composite_index_bytes: l'archiviazione in voci di indice composte misurata in byte.
composite_index_count: il conteggio delle voci di indici composti.
di entità radice di un tipo __Stat_Kind_IsRootEntity__
Voce specifica per lo spazio dei nomi:
__Stat_Ns_Kind_IsRootEntity__
Entità di un tipo che sono entità principali di un gruppo di entità (senza entità padre predecessore); un'entità stat per ogni tipo di entità archiviata. Proprietà aggiuntive:

kind_name, il nome del tipo rappresentato (una stringa)
entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
entità non radice di un tipo __Stat_Kind_NotRootEntity__
Voce specifica per lo spazio dei nomi:
__Stat_Ns_Kind_NotRootEntity__
Entità di un tipo che non sono entità radice di gruppo di entità (hanno un'entità padre predecessante); un'entità stat per ogni tipo di entità archiviata. Proprietà aggiuntive:

kind_name, il nome del tipo rappresentato (una stringa)
entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
proprietà di un tipo __Stat_PropertyType__
Voce specifica per lo spazio dei nomi:
__Stat_Ns_PropertyType__
Proprietà di un tipo di valore in tutte le entità: un'entità statistica per tipo di valore. Proprietà aggiuntive:

property_type, il nome del tipo di valore (una stringa)
entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
builtin_index_bytes: lo spazio di archiviazione in voci di indice integrate misurate in byte.
builtin_index_count: il conteggio delle voci di indice integrate.
proprietà di un tipo per tipo __Stat_PropertyType_Kind__
Voce specifica per lo spazio dei nomi:
__Stat_Ns_PropertyType_Kind__
Proprietà di un tipo di valore tra entità di un determinato tipo: un'entità statistica per combinazione di tipo e tipo di proprietà. Proprietà aggiuntive:

property_type, il nome del tipo di valore (una stringa)
kind_name, il nome del tipo rappresentato (una stringa)
entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
builtin_index_bytes: lo spazio di archiviazione nell'indice integrato misurato in byte.
builtin_index_count: il conteggio delle voci di indice integrate.
proprietà con un nome __Stat_PropertyName_Kind__
Voce specifica per lo spazio dei nomi:
__Stat_Ns_PropertyName_Kind__
Proprietà con un determinato nome in più entità di un determinato tipo: un'entità statistica per combinazione di nome e tipo di proprietà univoci. Proprietà aggiuntive:

property_name, il nome della proprietà (una stringa)
kind_name, il nome del tipo rappresentato (una stringa)
entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
builtin_index_bytes: lo spazio di archiviazione in voci di indice integrate misurate in byte.
builtin_index_count: il conteggio delle voci di indice integrate.
proprietà di un tipo e con un nome __Stat_PropertyType_PropertyName_Kind__
Voce specifica per lo spazio dei nomi:
__Stat_Ns_PropertyType_PropertyName_Kind__
Proprietà con un nome specifico e di un determinato tipo di valore nelle entità di un determinato tipo: un'entità statistica per combinazione di nome proprietà, tipo di valore e tipo esistente nel database. Proprietà aggiuntive:

property_type, il nome del tipo di valore (una stringa)
property_name, il nome della proprietà (una stringa)
kind_name, il nome del tipo rappresentato (una stringa)
entity_bytes: lo spazio di archiviazione nella tabella delle entità misurato in byte.
builtin_index_bytes: lo spazio di archiviazione in voci di indice integrate misurate in byte.
builtin_index_count: il conteggio delle voci di indice integrate.

Alcune statistiche fanno riferimento ai tipi di valori delle proprietà per nome, come stringhe. Questi nomi sono i seguenti:

  • "Blob"
  • "BlobKey"
  • "Boolean"
  • "Category"
  • "Date/Time"
  • "Email"
  • "Float"
  • "GeoPt"
  • "IM"
  • "Integer"
  • "Key"
  • "Link"
  • "NULL"
  • "PhoneNumber"
  • "PostalAddress"
  • "Rating"
  • "ShortBlob"
  • "String"
  • "Text"
  • "User"

Ordine di rilascio delle entità statistiche

Le applicazioni con migliaia di spazi dei nomi, tipi o nomi di proprietà richiedono un numero elevato di entità statistiche. Per ridurre l'overhead associato all'archiviazione e all'aggiornamento delle statistiche, i database Firestore in modalità Datastore eliminano progressivamente le entità statistiche in base agli ordini riportati di seguito.

Firestore in modalità Datastore tiene traccia delle dimensioni delle entità statistiche di tipo e non tipo separatamente. Le dimensioni delle entità statistiche non gentili non influiscono sulla data di eliminazione delle statistiche sui tipi.

Le entità delle statistiche di riepilogo __Stat_Kind_CompositeIndex__, __Stat_PropertyType__ e __Stat_Total__ non vengono mai eliminate.

Ordine di rilascio per le entità statistiche relative ai tipi

Le statistiche di tipo entità vengono eliminate nel seguente ordine:

  • statistiche per tipo e spazio dei nomi

    • __Stat_Ns_Kind__
    • __Stat_Ns_Kind_IsRootEntity__
    • __Stat_Ns_Kind_NotRootEntity__
    • __Stat_Ns_PropertyType_Kind__
  • statistiche per genere

    • __Stat_Kind__
    • __Stat_Kind_IsRootEntity__
    • __Stat_Kind_NotRootEntity__
    • __Stat_PropertyType_Kind__

Ordine di rilascio per entità statistiche non gentili

Le statistiche sulle entità non tipo vengono eliminate nel seguente ordine:

  • statistiche per spazio dei nomi, per tipo e per proprietà:

    • __Stat_Ns_PropertyName_Kind__
    • __Stat_Ns_PropertyType_PropertyName_Kind__
  • statistiche per tipo e proprietà

    • __Stat_PropertyName_Kind__
    • __Stat_PropertyType_PropertyName_Kind__
  • statistiche per spazio dei nomi

    • __Stat_Namespace__
    • __Stat_Ns_Kind_CompositeIndex__
    • __Stat_Ns_PropertyType__
    • __Stat_Ns_Total__

Vedi anche