Firestore in modalità Datastore (Datastore) mantiene statistiche sui dati archiviati in un'applicazione, ad esempio il numero di entità esistenti, il tipo o la quantità di spazio utilizzata dai valori delle proprietà di un determinato tipo.
Puoi visualizzare queste statistiche nella console Google Cloud in uno dei nei seguenti modi:
- Nella pagina Dashboard.
- Nella pagina Entità, esegui una query GQL nel formato
SELECT * FROM __Stat_Kind__
. - In modo programmatico all'interno dell'applicazione eseguendo query per entità con nomi speciali utilizzando l'API Datastore. Per ulteriori informazioni sui per l'API Datastore, consulta API e Riferimento.
Datastore utilizza nomi di tipo che iniziano e terminano con due trattini bassi per identificare entità speciali che forniscono statistiche sui dati. Queste entità sono chiamate entità statistiche. Ad esempio, ogni app ha un'entità di tipo
__Stat_Total__
, che rappresenta le statistiche su tutte le entità di un
database in modalità Datastore.
Le entità statistiche monitorano le informazioni sui tuoi dati e ti forniscono approfondimenti sul loro utilizzo. Vengono creati automaticamente. Ogni entità statistica ha le seguenti proprietà:
count
: il numero di elementi considerati dalla statistica (un numero intero lungo)bytes
: la dimensione totale degli articoli per questa statistica (un numero intero lungo)timestamp
: l'ora dell'aggiornamento più recente della statistica (un valore data/ora)
Ogni entità appartiene a un tipo specifico. Tipo di statistiche indica la categoria le statistiche che vengono raccolte o utilizzate. Utilizza il tipo per identificare lo scopo di un statistiche, come l'ottimizzazione di una query, il miglioramento delle prestazioni o l'analisi dei dati.
Alcuni tipi di statistiche hanno anche proprietà aggiuntive elencate nella sezione Elenco di statistiche di questo documento.
Quando il sistema statistico crea nuove entità statistiche, non elimina
le entità statistiche 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 questo valore del timestamp come filtro quando recuperi altre entità statistiche.
Il sistema di statistiche crea anche statistiche specifiche per ogni spazio dei nomi. I nomi di tipo di statistiche specifiche dello spazio dei nomi vengono
preceduto dal prefisso __Stat_Ns__
, seguito dagli stessi suffissi dei nomi di tipo di
statistiche applicabili all'intera applicazione.
Se un'applicazione non utilizza spazi dei nomi, il sistema di statistiche non crea statistiche specifiche per lo spazio dei nomi. Puoi trovare statistiche specifiche per spazio dei nomi solo nello spazio dei nomi a cui si riferiscono.
Elenco di statistiche
Di seguito è riportato un elenco delle statistiche disponibili:
Statistica | Tipo entità statistiche | Descrizione |
---|---|---|
tutte le entità | __Stat_Total__ Voce specifica dello spazio dei nomi: __Stat_Ns_Total__ |
Tutte le entità. Proprietà aggiuntive: • entity_bytes : spazio di archiviazione nella tabella delle entità misurato in byte.• builtin_index_bytes : spazio di archiviazione nelle voci di indice integrate misurato in byte.• builtin_index_count : il conteggio delle voci dell'indice integrate.• composite_index_bytes : lo spazio di archiviazione nelle voci di indice composto misurato in byte.• composite_index_count : il conteggio delle voci degli 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 incontrato 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 : spazio di archiviazione nelle voci di indice integrate misurato in byte.• builtin_index_count : il numero di voci di indice integrate.• composite_index_bytes : lo spazio di archiviazione nelle voci dell'indice composito misurato in byte.• composite_index_count : il conteggio delle voci dell'indice composito.Per ulteriori informazioni, consulta la sezione Limitazioni delle statistiche di questo documento. |
Tutte le voci degli indici definiti dall'applicazione | __Stat_Kind_CompositeIndex__ Voce specifica dello spazio dei nomi: __Stat_Ns_Kind_CompositeIndex__ |
Voci nella tabella dell'indice composito; un'entità stat 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 dello 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 : spazio di archiviazione nelle voci di indice integrate misurato in byte.• builtin_index_count : il numero di voci di indice integrate.• composite_index_bytes : lo spazio di archiviazione nelle voci di indice composto misurato in byte.• composite_index_count : il conteggio delle voci degli indici composti. |
entità principali di un tipo | __Stat_Kind_IsRootEntity__ Voce specifica dello spazio dei nomi: __Stat_Ns_Kind_IsRootEntity__ |
Entità di un tipo che sono entità radice del gruppo di entità (nessuna entità padre predecessore); 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. |
entità non root di un tipo | __Stat_Kind_NotRootEntity__ Voce specifica dello spazio dei nomi: __Stat_Ns_Kind_NotRootEntity__ |
Entità di un tipo che non sono entità principali del gruppo di entità (hanno un'entità principale precedente); 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. |
proprietà di un tipo | __Stat_PropertyType__ Voce specifica dello 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 : spazio di archiviazione nelle voci di indice integrate misurato in byte.• builtin_index_count : il numero di voci di indice integrate. |
proprietà di un tipo per tipo | __Stat_PropertyType_Kind__ Voce specifica dello spazio dei nomi: __Stat_Ns_PropertyType_Kind__ |
le proprietà di un tipo di valore tra le 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 dell'indice integrate.Per ulteriori informazioni, consulta la sezione Limitazioni delle statistiche di questo documento. |
proprietà con un nome | __Stat_PropertyName_Kind__ Voce specifica dello spazio dei nomi: __Stat_Ns_PropertyName_Kind__ |
Proprietà con un dato nome tra 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 : spazio di archiviazione nelle voci di indice integrate misurato in byte.• builtin_index_count : il conteggio delle voci dell'indice incorporate. |
proprietà di un tipo e con un nome | __Stat_PropertyType_PropertyName_Kind__ Voce specifica dello spazio dei nomi: __Stat_Ns_PropertyType_PropertyName_Kind__ |
Proprietà con un determinato nome e con un determinato tipo di valore tra entità di un determinato tipo; un'entità statistica per combinazione di nome della 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 : spazio di archiviazione nelle voci di indice integrate misurato in byte.• builtin_index_count : il numero di voci di indice integrate.Per ulteriori informazioni, consulta la sezione Limiti delle statistiche di questo documento. |
Alcune statistiche fanno riferimento ai tipi di valori delle proprietà in base al nome, come stringhe. I 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"
Limitazioni delle statistiche
Le statistiche presentano le seguenti limitazioni:
- La proprietà
__Stat_PropertyType_Kind__
e la proprietà__Stat_PropertyType_PropertyName_Kind__
restituiscono i metadati del tipo di proprietà per i tipi di valori array e registrano separatamente il tipo di proprietà per ogni valore nell'array. Ad esempio, se una proprietà array memorizza un elenco di stringhe, la proprietà registra il tipo di proprietà comeSTRING
, mentre il tipo di proprietà effettivo èARRAY<STRING>
. - Le entità
__Stat_Namespace__
contengono le stesse informazioni presenti nei record__Stat_Ns_Total__
. Le entità__Stat_Namespace__
vengono memorizzate nello spazio di nomi vuoto e contengono un camposubject_namespace
che descrive lo spazio di nomi a cui appartengono. I record__Stat_Ns_Total__
sono archiviati nello spazio dei nomi a cui fanno riferimento e non contengono un camposubject_namespace
. Di conseguenza, una query sul tipo__Stat_Namespace__
(dallo spazio dei nomi di stringhe vuote) ordinata in ordine decrescente perbytes
elenca prima gli spazi dei nomi che consumano più spazio di archiviazione. Poiché non sono possibili query negli spazi dei nomi, qualsiasi query per le entità__Stat_Ns_Total__
produrrà al massimo un singolo record.
Ordine di inserimento 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 di archiviazione e aggiornamento delle statistiche, i database Firestore in modalità Datastore eliminano progressivamente le entità statistiche in base all'ordine elencato di seguito.
Le entità statistiche di riepilogo __Stat_Kind_CompositeIndex__
, __Stat_PropertyType__
e __Stat_Total__
non vengono mai eliminate.
Le entità statistiche vengono inserite in gruppi nel seguente ordine predefinito:
Statistiche per spazio dei nomi, tipo e proprietà:
__Stat_Ns_PropertyName_Kind__
__Stat_Ns_PropertyType_PropertyName_Kind__
Statistiche per tipo e per 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__
Le entità statistiche dei tipi hanno il seguente ordine di rilascio:
statistiche per tipo e spazio dei nomi
__Stat_Ns_Kind__
__Stat_Ns_Kind_IsRootEntity__
__Stat_Ns_Kind_NotRootEntity__
__Stat_Ns_PropertyType_Kind__
statistiche per tipo
__Stat_Kind__
__Stat_Kind_IsRootEntity__
__Stat_Kind_NotRootEntity__
__Stat_PropertyType_Kind__