O Datastore mantém estatísticas sobre os dados armazenados para uma aplicação, como o número de entidades de um determinado tipo ou o espaço usado pelos valores das propriedades de um determinado tipo. Pode ver estas estatísticas na Google Cloud consola, na página Painel de controlo.
Também pode aceder a estes valores de forma programática na aplicação consultando entidades com nomes especiais através da API Datastore.
Cada estatística é acessível como uma entidade cujo nome do tipo começa e termina com dois carateres de sublinhado. Por exemplo, cada app tem exatamente uma entidade do tipo
__Stat_Total__
que representa estatísticas sobre todas as entidades no
Datastore no total. Cada entidade de estatísticas tem as seguintes propriedades:
count
, o número de itens considerados pela estatística (um número inteiro longo)bytes
, o tamanho total dos itens para esta estatística (um número inteiro longo)timestamp
, a hora da atualização mais recente da estatística (um valor de data/hora)
Alguns tipos de estatísticas também têm propriedades adicionais, indicadas abaixo.
Uma vez que o cliente Go Datastore requer nomes exportados, o acesso às propriedades indicadas neste documento requer a utilização de etiquetas struct.
Quando o sistema de estatísticas cria novas entidades estatísticas, não elimina
as antigas de imediato. A melhor forma de obter uma vista consistente das estatísticas é consultar a entidade com a data/hora mais recente timestamp
e, em seguida, usar esse valor de data/hora como filtro ao obter outras entidades de estatísticas.
As entidades de estatísticas estão incluídas nos valores de estatísticas calculados. As entidades de estatísticas ocupam espaço relativamente ao número de tipos únicos e nomes de propriedades usados pela aplicação.
O sistema de estatísticas também cria estatísticas específicas para cada
namespace
Tenha em atenção que, se uma aplicação não usar namespaces do Datastore,
não são criadas estatísticas específicas do namespace. As estatísticas específicas do espaço de nomes
encontram-se no espaço de nomes ao qual são específicas. Os nomes dos tipos para estatísticas específicas do espaço de nomes têm o prefixo __Stat_Ns_
e o mesmo sufixo correspondente que os tipos de estatísticas ao nível da aplicação.
As aplicações com milhares de espaços de nomes, tipos ou nomes de propriedades requerem um número muito elevado de entidades de estatísticas. Para manter a sobrecarga do armazenamento e da atualização das estatísticas razoável, o Datastore elimina progressivamente as entidades de estatísticas, pela seguinte ordem:
- Estatísticas por espaço de nomes, por tipo e por propriedade:
__Stat_Ns_PropertyName_Kind__
,__Stat_Ns_PropertyType_PropertyName_Kind__
- Estatísticas por tipo e por propriedade:
__Stat_PropertyName_Kind__
,__Stat_PropertyType_PropertyName_Kind__
- Estatísticas por espaço de nomes e por tipo:
__Stat_Ns_Kind__
,__Stat_Ns_Kind_IsRootEntity__
,__Stat_Ns_Kind_NotRootEntity__
,__Stat_Ns_PropertyType_Kind__
- Estatísticas por tipo:
__Stat_Kind__
,__Stat_Kind_IsRootEntity__
,__Stat_Kind_NotRootEntity__
e__Stat_PropertyType_Kind__
- Estatísticas por espaço de nomes:
__Stat_Namespace__
,__Stat_Ns_Kind_CompositeIndex__
,__Stat_Ns_PropertyType__
,__Stat_Ns_Total__
As entidades de estatísticas de resumo (__Stat_Kind_CompositeIndex__
,
__Stat_PropertyType__
, __Stat_Total__
) nunca são ignoradas.
Segue-se a lista completa de estatísticas disponíveis:
Estatística | Tipo de entidade de estatísticas | Descrição |
---|---|---|
todas as entidades | __Stat_Total__ Entrada específica do espaço de nomes: __Stat_Ns_Total__ |
Todas as entidades. Propriedades adicionais: • entity_bytes : o armazenamento na tabela de entidades medido em bytes.• builtin_index_bytes : o armazenamento em entradas de índice incorporadas medido em bytes.• builtin_index_count : a contagem de entradas de índice incorporadas.• composite_index_bytes : o armazenamento em entradas de índice composto medido em bytes.• composite_index_count : a contagem de entradas de índice composto. |
Todas as entidades num espaço de nomes | __Stat_Namespace__ Tenha em atenção que as entidades __Stat_Namespace__ são criadas para cada espaço de nomes encontrado e só são encontradas no espaço de nomes de string vazia. |
Todas as entidades num espaço de nomes. • subject_namespace , o espaço de nomes representado (uma string)• entity_bytes : o armazenamento na tabela de entidades medido em bytes.• builtin_index_bytes : o armazenamento em entradas de índice incorporadas medido em bytes.• builtin_index_count : a contagem de entradas de índice incorporadas.• composite_index_bytes : o armazenamento em entradas de índice composto medido em bytes.• composite_index_count : a contagem de entradas de índice composto. |
Todas as entradas nos índices definidos pela aplicação | __Stat_Kind_CompositeIndex__ Entrada específica do espaço de nomes: __Stat_Ns_Kind_CompositeIndex__ |
Entradas na tabela de índice composto; uma entidade de estatísticas para cada tipo de entidade armazenada. Propriedades adicionais: • index_id , o ID do índice.• kind_name , o nome do tipo representado (uma string) |
entidades de um tipo | __Stat_Kind__ Entrada específica do espaço de nomes: __Stat_Ns_Kind__ |
Entidades de um tipo; uma entidade de estatísticas para cada tipo de entidade armazenada. Propriedades adicionais: • kind_name , o nome do tipo representado (uma string)• entity_bytes : o armazenamento na tabela de entidades medido em bytes.• builtin_index_bytes : o armazenamento em entradas de índice incorporadas medido em bytes.• builtin_index_count : a contagem de entradas de índice incorporadas.• composite_index_bytes : o armazenamento em entradas de índice composto medido em bytes.• composite_index_count : a contagem de entradas de índice composto. |
entidades de raiz de um tipo | __Stat_Kind_IsRootEntity__ Entrada específica do espaço de nomes: __Stat_Ns_Kind_IsRootEntity__ |
Entidades de um tipo que são entidades raiz do grupo de entidades (não têm um elemento principal antecessor); uma entidade de estatísticas para cada tipo de entidade armazenada. Propriedades adicionais: • kind_name , o nome do tipo representado (uma string)• entity_bytes : o armazenamento na tabela de entidades medido em bytes. |
entidades não principais de um tipo | __Stat_Kind_NotRootEntity__ Entrada específica do espaço de nomes: __Stat_Ns_Kind_NotRootEntity__ |
Entidades de um tipo que não são entidades raiz do grupo de entidades (têm um elemento superior antecessor); uma entidade de estatísticas para cada tipo de entidade armazenada. Propriedades adicionais: • kind_name , o nome do tipo representado (uma string)• entity_bytes : o armazenamento na tabela de entidades medido em bytes. |
propriedades de um tipo | __Stat_PropertyType__ Entrada específica do espaço de nomes: __Stat_Ns_PropertyType__ |
Propriedades de um tipo de valor em todas as entidades; uma entidade de estatísticas por tipo de valor. Propriedades adicionais: • property_type , o nome do tipo de valor (uma string)• entity_bytes : o armazenamento na tabela de entidades medido em bytes.• builtin_index_bytes : o armazenamento em entradas de índice incorporadas medido em bytes.• builtin_index_count : a contagem de entradas de índice incorporadas. |
propriedades de um tipo por género | __Stat_PropertyType_Kind__ Entrada específica do espaço de nomes: __Stat_Ns_PropertyType_Kind__ |
Propriedades de um tipo de valor em entidades de um determinado tipo; uma entidade de estatísticas por combinação de tipo de propriedade e tipo. Propriedades adicionais: • property_type , o nome do tipo de valor (uma string)• kind_name , o nome do tipo representado (uma string)• entity_bytes : o armazenamento na tabela de entidades medido em bytes.• builtin_index_bytes : o armazenamento no índice integrado medido em bytes.• builtin_index_count : a contagem de entradas de índice incorporadas. |
propriedades com um nome | __Stat_PropertyName_Kind__ Entrada específica do espaço de nomes: __Stat_Ns_PropertyName_Kind__ |
Propriedades com um determinado nome em todas as entidades de um determinado tipo; uma entidade de estatísticas por combinação de nome de propriedade e tipo exclusivos. Propriedades adicionais: • property_name , o nome da propriedade (uma string)• kind_name , o nome do tipo representado (uma string)• entity_bytes : o armazenamento na tabela de entidades medido em bytes.• builtin_index_bytes : o armazenamento em entradas de índice incorporadas medido em bytes.• builtin_index_count : a contagem de entradas de índice incorporadas. |
propriedades de um tipo e com um nome | __Stat_PropertyType_PropertyName_Kind__ Entrada específica do espaço de nomes: __Stat_Ns_PropertyType_PropertyName_Kind__ |
Propriedades com um determinado nome e de um determinado tipo de valor em entidades de um determinado tipo; uma entidade de estatísticas por combinação de nome da propriedade, tipo de valor e tipo que existe no Datastore. Propriedades adicionais: • property_type , o nome do tipo de valor (uma string)• property_name , o nome da propriedade (uma string)• kind_name , o nome do tipo representado (uma string)• entity_bytes : o armazenamento na tabela de entidades medido em bytes.• builtin_index_bytes : o armazenamento em entradas de índice incorporadas medido em bytes.• builtin_index_count : a contagem de entradas de índice incorporadas. |
Algumas estatísticas referem-se aos tipos de valores de propriedades do Datastore pelo nome, como strings. Estes nomes são os seguintes:
"Blob"
"BlobKey"
"Boolean"
"Category"
"Date/Time"
"Email"
"Float"
"GeoPt"
"IM"
"Integer"
"Key"
"Link"
"NULL"
"PhoneNumber"
"PostalAddress"
"Rating"
"ShortBlob"
"String"
"Text"
"User"