Estadísticas de la tabla
Bigtable proporciona estadísticas de tabla (metadatos sobre una tabla) que te ofrecen información de resumen sobre la tabla, como el número de filas o el número medio de celdas por columna.
En este documento se describen las estadísticas de las tablas y se explica cómo obtenerlas mediante la CLI de Google Cloud. Antes de leer esta página, debes conocer el modelo de almacenamiento de Bigtable y las prácticas recomendadas para diseñar esquemas, así como la recogida de elementos no utilizados.
Las estadísticas de las tablas proporcionan información sobre una tabla de Bigtable. Pueden ser útiles cuando tengas problemas de rendimiento o almacenamiento, o cuando quieras determinar la fuente de los costes de almacenamiento. También pueden ayudarte a determinar si estás almacenando más datos de los que necesitas.
Precisión esperada
Cuando recuperas las estadísticas de una tabla, los datos que obtienes son aproximados. Las estadísticas de la tabla reflejan el estado de la tabla en uno de los clústeres de tu instancia en el momento de la compactación más reciente.
El conjunto completo de estadísticas de la tabla no está disponible hasta después de la compresión inicial, que suele producirse aproximadamente una semana después de crear la tabla. Las estadísticas de la tabla son precisas a partir de la última compactación, que puede haber tenido lugar hace una semana.
Campos de estadísticas de la tabla
Una solicitud de estadísticas de una tabla devuelve los siguientes campos. En la siguiente sección se ofrecen detalles y ejemplos.
Campo de estadísticas de tabla | Nombre de la API | Descripción |
---|---|---|
Total de filas | row_count |
Número de filas de la tabla. Para obtener más información, consulta Número de filas. |
Número medio de columnas por fila | average_columns_per_row |
El número medio de columnas de cada fila de toda la tabla. Para obtener más información y ver un ejemplo, consulta Número medio de columnas por fila . |
Número medio de celdas por columna | average_cells_per_column |
El número medio de celdas almacenadas en todas las columnas de todas las filas. Para obtener más información, consulta Número medio de celdas por columna. |
Datos lógicos en bytes | logical_data_bytes |
La cantidad de espacio que ocupa la tabla. Para obtener más información, consulta Datos lógicos en bytes. |
Las estadísticas de la tabla también incluyen los siguientes campos de cada familia de columnas de la tabla.
Campo de estadísticas de familia de columnas | Nombre de la API | Descripción |
---|---|---|
Número medio de columnas por fila | average_columns_per_row |
El número medio de columnas por fila de la familia de columnas. Para obtener más información y ver un ejemplo, consulta Número medio de columnas por fila. |
Número medio de celdas por columna | average_cells_per_column |
Número de celdas de cada columna, calculado como la media de todas las filas que tienen columnas en la familia de columnas. Para obtener más información y un ejemplo, consulta Número medio de celdas por columna. |
Datos lógicos en bytes | logical_data_bytes |
Cantidad de espacio que ocupa la familia de columnas. Para obtener más información, consulta Datos lógicos en bytes. |
Detalles de los campos de estadísticas de la tabla
Total de filas
El recuento de filas es el número de filas de la tabla. Cada fila se identifica por su clave de fila.
Número medio de columnas por fila
Para obtener el número medio de columnas por fila de una tabla, Bigtable cuenta el número de columnas de toda la tabla y divide ese valor entre el número de filas de la tabla.
Por ejemplo, consulta la siguiente tabla. La primera fila tiene tres columnas y la segunda, dos.
Clave de fila | Familia de columnas family-A | Familia de columnas family-B | ||
---|---|---|---|---|
Clave de fila 1 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | |
Clave de fila 2 | family-A:qualifier-W | family-B:qualifier-Z |
La tabla tiene cinco columnas y dos filas, por lo que el número medio de columnas por fila es 2.5
.
Esta estadística de tabla te da una idea general de si tu tabla es alta y estrecha (pocas columnas por fila) o baja y ancha (muchas columnas en cada fila).
Número medio de celdas por columna
Para obtener el número medio de celdas por columna de una tabla, Bigtable toma el número total de celdas almacenadas en la tabla y lo divide entre el número de columnas de la tabla.
En función del diseño del esquema y de las políticas de recogida de elementos no utilizados, una tabla puede tener varias celdas en una columna o solo una. El número de celdas que puedes almacenar está limitado por los límites de tamaño de los datos que se indican en la página Cuotas y límites, en la sección Tamaño de los datos en las tablas.
Si este número es superior al esperado, examina tus reglas de recolección de elementos no utilizados para ver si estás conservando más celdas de las que necesitas. También puedes preguntar si se deben ajustar el esquema y los patrones de escritura.
Datos lógicos en bytes (tabla)
Este valor representa el número aproximado de bytes que se necesitarían para leer toda la tabla. Esta estadística de la tabla te da una idea de cuántos bytes se almacenan en la tabla. Conocer los datos lógicos en bytes puede ayudarte a entender el impacto de la compresión en la tabla. Por ejemplo, si el tamaño de la tabla que se indica en Cloud Monitoring es igual o superior a los datos lógicos en bytes de la tabla, es posible que estés almacenando los datos en un formato que no se comprime fácilmente.
Detalles de los campos de estadísticas de familias de columnas
Las estadísticas de una tabla incluyen los siguientes campos de cada familia de columnas de la tabla.
Número medio de columnas por fila
Este número se calcula dividiendo el número de columnas de la familia de columnas entre el número de filas de la tabla.
Por ejemplo, consulta la siguiente tabla. La tabla tiene tres filas con columnas en las familias de columnas family-A
y family-B
.
Clave de fila | Familia de columnas family-A | Familia de columnas family-B | ||
---|---|---|---|---|
Clave de fila 1 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | |
Clave de fila 2 | family-A:qualifier-W | |||
Clave de fila 3 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | family-B:qualifier-Z |
La familia de columnas family-A
tiene un total de cinco columnas en la tabla. Si dividimos este número entre tres filas, la media de celdas por columna de family-A
es 1.67
(redondeado a dos decimales).
La familia de columnas family-B
tiene un total de tres columnas en la tabla. Dividido entre tres filas, el número medio de columnas por fila de family-A
es 1
.
Número medio de celdas por columna
Para determinar el número medio de celdas por columna de una familia de columnas, Bigtable toma el recuento de todas las celdas de la familia de columnas en todas las filas de la tabla y lo divide entre el número de filas de la tabla.
Por ejemplo, considere las siguientes filas de la familia de columnas family-D
.
Clave de fila | Familia de columnas family-D | ||
---|---|---|---|
Clave de fila 1 | family-D:qualifier-W (3 celdas) | familia-D:calificador-X (1 celda) | |
Clave de fila 2 | familia-D:calificador-X (10 celdas) | ||
Clave de fila 3 | family-D:qualifier-W (7 celdas) | family-D:qualifier-Y (6 celdas) |
El recuento de celdas de la familia de columnas es 3 + 1 + 10 + 7 + 6 = 27. Ese valor dividido entre 3 (el número de filas) significa que la familia de columnas family-D
tiene una media de 9
celdas por columna.
Datos lógicos en bytes (familia de columnas)
Los datos lógicos en bytes reflejan el espacio que ocupa la familia de columnas. Este valor es aproximadamente el número de bytes que necesitas para leer todos los datos de la familia de columnas en el momento en que se devolvieron las estadísticas de la tabla.
Ejemplo con la CLI gcloud
Para obtener estadísticas de la tabla sample-table
, usa el comando bigtable instances table describe
:
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID --view stats
Haz los cambios siguientes:
TABLE_ID
: identificador permanente de la tablaINSTANCE_ID
: identificador permanente de la instancia
El resultado debería ser similar al siguiente:
columnFamilies: my-family: stats: averageCellsPerColumn: 12.34 averageColumnsPerRow: 56.78 logicalDataBytes: 314159 name: projects/my-project/instances/INSTANCE_ID/tables/TABLE_ID stats: averageCellsPerColumn: 12.34 averageColumnsPerRow: 56.78 logicalDataBytes: 314159 rowCount: 271828