Estadísticas de Datastore en Go 1.9

Cloud Datastore mantiene estadísticas de los datos almacenados para una aplicación, como la cantidad de entidades existentes de una categoría específica o la cantidad de espacio que usan los valores de propiedad de un tipo específico. Puedes ver estas estadísticas en la página Panel de GCP Console.

Asimismo, puedes acceder de manera programática a estos valores dentro de la aplicación mediante consultas sobre entidades con nombres especiales que usan la API de Cloud Datastore. Cada estadística es accesible como entidad cuyo nombre de categoría comienza y termina con dos guiones bajos. Por ejemplo, cada aplicación tiene exactamente una entidad de la categoría __Stat_Total__ que representa las estadísticas de todas las entidades que hay en total en Cloud Datastore. Cada entidad de estadística tiene las propiedades siguientes:

  • count, la cantidad de elementos que considera la estadística (un número entero largo);
  • bytes, el tamaño total de los elementos para esta estadística (un número entero largo)
  • timestamp, la marca de tiempo de la actualización más reciente de la estadística (un valor de fecha y hora)

Algunos grupos de similares de estadísticas tienen propiedades adicionales que se mencionan a continuación.

Debido a que el cliente de Cloud Datastore de Go requiere nombres exportados, es necesario usar etiquetas de estructura para acceder a las propiedades que aparecen en este documento.

Cuando el sistema de estadísticas crea entidades estadísticas nuevas, no borra las anteriores inmediatamente. La mejor manera de obtener una vista coherente de las estadísticas es hacer una consulta que muestre la entidad con el timestamp más reciente y, luego, utilizar ese valor de marca de tiempo como filtro si recuperas otras entidades estadísticas.

Las entidades estadísticas se incluyen en los valores estadísticos calculados. Estas entidades ocupan el espacio relativo al número de categorías únicas y los nombres de propiedad usados por la aplicación.

El sistema de estadísticas también creará estadísticas específicas para cada espacio de nombres. Ten en cuenta que si una aplicación no usa espacios de nombres de Cloud Datastore, entonces no se crearán estadísticas específicas del espacio de nombres. Estas estadísticas se encuentran en el espacio de nombres al que corresponden. Los nombres de categoría de las estadísticas específicas de espacio de nombres tienen el prefijo __Stat_Ns_ y el mismo sufijo correspondiente como categorías de estadísticas de toda la aplicación.

Las aplicaciones con miles de espacios de nombres, categorías o nombres de propiedad necesitan un gran número de entidades estadísticas. Para mantener la sobrecarga de almacenamiento y la actualización de las estadísticas en un nivel razonable, Cloud Datastore quita entidades estadísticas de manera progresiva en el orden siguiente:

  • estadísticas por espacio de nombres, por categoría y por propiedad: __Stat_Ns_PropertyName_Kind__, __Stat_Ns_PropertyType_PropertyName_Kind__
  • estadísticas por categoría y por propiedad: __Stat_PropertyName_Kind__, __Stat_PropertyType_PropertyName_Kind__
  • estadísticas por espacio de nombres y por categoría: __Stat_Ns_Kind__, __Stat_Ns_Kind_IsRootEntity__, __Stat_Ns_Kind_NotRootEntity__, __Stat_Ns_PropertyType_Kind__
  • estadísticas por categoría: __Stat_Kind__, __Stat_Kind_IsRootEntity__, __Stat_Kind_NotRootEntity__, __Stat_PropertyType_Kind__
  • estadísticas por espacio de nombres: __Stat_Namespace__, __Stat_Ns_Kind_CompositeIndex__, __Stat_Ns_PropertyType__, __Stat_Ns_Total__

Nunca se quitan las entidades estadísticas de resumen (__Stat_Kind_CompositeIndex__, __Stat_PropertyType__, __Stat_Total__).

Estas son todas las estadísticas disponibles:

Estadística Categoría de la entidad estadística Descripción
Todas las entidades __Stat_Total__
Entrada específica del espacio de nombres:
__Stat_Ns_Total__
Todas las entidades. Propiedades adicionales:

entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
builtin_index_bytes: el almacenamiento en entradas de un índice integrado, medido en bytes
builtin_index_count: la cantidad de entradas de un índice integrado
composite_index_bytes: el almacenamiento en entradas de un índice compuesto, medido en bytes
composite_index_count: la cantidad de entradas de un índice compuesto
Todas las entidades en un espacio de nombres __Stat_Namespace__
Ten en cuenta que se crean entidades __Stat_Namespace__ para cada espacio de nombres que se descubre, y solo se encuentran en el espacio de nombres de la string vacía.
Todas las entidades de un espacio de nombres.

subject_namespace: el espacio de nombres representado (una string)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
builtin_index_bytes: el almacenamiento en entradas de un índice integrado, medido en bytes
builtin_index_count: la cantidad de entradas de un índice integrado
composite_index_bytes: el almacenamiento en entradas de un índice compuesto, medido en bytes
composite_index_count: la cantidad de entradas de un índice compuesto
Todas las entradas en índices definidos de la aplicación __Stat_Kind_CompositeIndex__
Entrada específica de espacio de nombres: __Stat_Ns_Kind_CompositeIndex__
Entradas en la tabla del índice compuesto; una entidad estadística por cada grupo de similares de entidad almacenada. Propiedades adicionales:

index_id, el ID del índice.
kind_name: el nombre de la categoría representada (una string)
Entidades de un grupo de similares __Stat_Kind__
Entrada específica del espacio de nombres:
__Stat_Ns_Kind__
Entidades de un grupo de similares; una entidad estadística por cada grupo de similares de entidad almacenado. Propiedades adicionales:

kind_name: el nombre de la categoría representada (una string)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
builtin_index_bytes: el almacenamiento en entradas de un índice integrado, medido en bytes
builtin_index_count: la cantidad de entradas de un índice integrado
composite_index_bytes: el almacenamiento en entradas de un índice compuesto, medido en bytes
composite_index_count: la cantidad de entradas de un índice compuesto
Entidades raíz de un grupo de similares __Stat_Kind_IsRootEntity__
Entrada específica del espacio de nombres:
__Stat_Ns_Kind_IsRootEntity__
Entidades de un grupo de similares que son entidades raíz de un grupo de entidad (no tienen una entidad principal superior); una entidad estadística por cada grupo de similares de entidad almacenado. Propiedades adicionales:

kind_name: el nombre de la categoría representada (una string)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
Entidades no raíz de un grupo de similares __Stat_Kind_NotRootEntity__
Entrada específica del espacio de nombres:
__Stat_Ns_Kind_NotRootEntity__
Entidades de un grupo de similares que no son entidades raíz de un grupo de entidad (tienen una entidad principal superior); una entidad estadística por cada grupo de similares de entidad almacenado. Propiedades adicionales:

kind_name: el nombre de la categoría representada (una string)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
Propiedades de un tipo __Stat_PropertyType__
Entrada específica del espacio de nombres:
__Stat_Ns_PropertyType__
Propiedades de un tipo de valor en todas las entidades; una entidad estadística por tipo de valor. Propiedades adicionales:

property_type: el nombre del tipo de valor (una string)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
builtin_index_bytes: el almacenamiento en entradas de un índice integrado, medido en bytes
builtin_index_count: la cantidad de entradas de un índice integrado
Propiedades de un tipo por categoría __Stat_PropertyType_Kind__
Entrada específica del espacio de nombres:
__Stat_Ns_PropertyType_Kind__
Propiedades de un tipo de valor en las entidades de una categoría específica; una entidad estadística por combinación de tipo y categoría de propiedad. Propiedades adicionales:

property_type: el nombre del tipo de valor (una string)
kind_name: el nombre de la categoría representada (una string)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
builtin_index_bytes: El almacenamiento en el índice integrado, medido en bytes.
builtin_index_count: la cantidad de entradas de un índice integrado
Propiedades con nombre __Stat_PropertyName_Kind__
Entrada específica del espacio de nombres:
__Stat_Ns_PropertyName_Kind__
Las propiedades con un nombre determinado en las entidades de un grupo de similares determinado; una entidad estadística por combinación de tipo de propiedad y grupo de similares. Propiedades adicionales:

property_name, el nombre de la propiedad (una string)
kind_name: el nombre de la categoría representada (una string)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
builtin_index_bytes: el almacenamiento en entradas de un índice integrado, medido en bytes
builtin_index_count: la cantidad de entradas de un índice integrado
Propiedades de un tipo y con un nombre __Stat_PropertyType_PropertyName_Kind__
Entrada específica del espacio de nombres:
__Stat_Ns_PropertyType_PropertyName_Kind__
Las propiedades con un nombre y valor determinados en las entidades de un grupo de similares determinado; una entidad estadística por combinación del nombre de propiedad, tipo de valor y grupo de similares que existe en Cloud Datastore. Propiedades adicionales:

property_type: el nombre del tipo de valor (una string)
property_name, el nombre de la propiedad (una string)
kind_name: el nombre de la categoría representada (una string)
entity_bytes: el almacenamiento en la tabla de entidades medido en bytes
builtin_index_bytes: el almacenamiento en entradas de un índice integrado, medido en bytes
builtin_index_count: la cantidad de entradas de un índice integrado

Algunas estadísticas se refieren a tipos de valor de propiedad de Cloud Datastore por nombre, como strings. Los nombres son los siguientes:

  • "Blob"
  • "BlobKey"
  • "Boolean"
  • "Category"
  • "Date/Time"
  • "Email"
  • "Float"
  • "GeoPt"
  • "IM"
  • "Integer"
  • "Key"
  • "Link"
  • "NULL"
  • "PhoneNumber"
  • "PostalAddress"
  • "Rating"
  • "ShortBlob"
  • "String"
  • "Text"
  • "User"
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Go