Las tablas de estadísticas integradas de Spanner te ayudan a investigar problemas en tu base de datos. Puedes consultar estas tablas para obtener estadísticas sobre las consultas, las transacciones y las lecturas. En Spanner, se encuentran disponibles las siguientes tablas de estadísticas integradas (o herramientas de introspección):
- Estadísticas de DML particionado activo
- Estadísticas de operaciones de columnas
- Estadísticas de bloqueo
- Estadísticas de las consultas activas más antiguas
- Estadísticas de consulta
- Estadísticas de lectura
- Estadísticas de división
- Estadísticas de operaciones de tablas
- Estadísticas de tamaños de tablas
- Estadísticas de transacciones
- Estadísticas del índice de vectores
Estas tablas acceden a los datos de SPANNER_SYS, que solo están disponibles a través de las siguientes interfaces de SQL de Spanner:
- La página de Spanner Studio de una base de datos en la consola de Google Cloud
- El comando
gcloud spanner databases execute-sql - El método
executeSqlo el métodoexecuteStreamingSql.
No puedes usar otros métodos de lectura única para consultar las tablas SPANNER_SYS.
Métodos de API incluidos para cada herramienta
En Spanner, existe cierta superposición entre las transacciones, las lecturas y las consultas. Por lo tanto, es posible que no quede claro qué métodos de la API se incluyen cuando se compilan los resultados de cada herramienta de introspección. En la siguiente tabla, se enumeran los principales métodos de la API y su relación con cada herramienta.
| Métodos de la API | Modos de transacción | Estadísticas de consulta | Consultas activas más antiguas | Lee estadísticas | Estadísticas de transacciones | Estadísticas de bloqueo |
|---|---|---|---|---|---|---|
| Read, StreamingRead | Transacción de solo lectura1 | No | No | Sí | No | No |
| Transacción de lectura o escritura | No | No | Sí | Sí | Sí | |
| ExecuteSql, ExecuteStreamingSql | Transacción de solo lectura1 | Sí2 | Sí2 | No | No | No |
| Transacción de lectura o escritura | Yes | Sí | No | Sí | Sí | |
| executeBatchDml | Transacciones de lectura y escritura | Sí3 | Sí4 | No | Sí | Sí |
| Confirmar | Transacciones de lectura y escritura (DML5, Mutations6) | No | No | No | Sí | Sí |
Notas:
1 Las transacciones de solo lectura no se incluyen en las estadísticas de transacciones ni en las estadísticas de bloqueos. Solo las transacciones de lectura y escritura se incluyen en las estadísticas de transacciones y de bloqueos.
2 Las consultas que se ejecutan con la API de PartitionQuery no se incluyen en las estadísticas de las consultas activas más antiguas.
3 Un lote de instrucciones DML aparece en las estadísticas de consultas como una sola entrada.
4 Las sentencias dentro del lote aparecerán en las consultas activas más antiguas, en lugar de todo el lote.
5 Las operaciones de DML no confirmadas no se incluyen en las estadísticas de transacciones.
6 Las mutaciones vacías que no están activas no se incluyen en las estadísticas de transacciones.
Estadísticas de DML particionado activas
Las estadísticas activas del lenguaje de manipulación de datos (DML) particionado proporcionan progreso en tiempo real para los DML particionados que están activos en tu base de datos.
Estadísticas de operaciones de columnas
Puedes usar las estadísticas de las operaciones de columnas para hacer lo siguiente:
- Supervisa las estadísticas de las columnas de tu tabla.
- Encontrar tendencias en el uso de las columnas de tu tabla
Estadísticas de bloqueo
Las estadísticas de bloqueo se pueden usar para investigar conflictos de bloqueo en tu base de datos. Si se usan con las estadísticas de transacciones, puedes encontrar las transacciones que causan conflictos de bloqueo cuando intentan adquirir bloqueos en las mismas celdas al mismo tiempo.
Puedes visualizar estas métricas en una serie temporal con el panel Estadísticas de bloqueo. El panel prediseñado te ayuda a ver el tiempo de espera de bloqueo y confirmar si las latencias se deben a conflictos de bloqueo con un tiempo de espera de bloqueo alto.
Estadísticas de las consultas activas más antiguas
A veces, querrás examinar las consultas en ejecución para ver la carga de trabajo actual del sistema. Usa la herramienta Consultas activas más antiguas para investigar las consultas de larga duración que pueden afectar el rendimiento de la base de datos. Esta herramienta te indica cuáles son las búsquedas, cuándo comenzaron a ejecutarse y a qué sesión pertenecen.
Las consultas de flujo de cambios no se incluyen en las consultas activas más antiguas.
Estadísticas de consulta
Cuando investigas problemas en tu base de datos, es útil saber qué consultas son costosas, se ejecutan con frecuencia o analizan muchos datos.
Las estadísticas de consultas son estadísticas agregadas de las consultas (incluidas las instrucciones de DML y las consultas de flujo de cambios), recopiladas en intervalos de 1, 10 y 60 minutos. Se recopilan estadísticas de las instrucciones que se completaron correctamente, así como de las que fallaron, se agotó el tiempo de espera o el usuario las canceló.
Las estadísticas incluyen el uso más alto de la CPU, los recuentos totales de ejecución de consultas, la latencia promedio, la mayor cantidad de datos analizados y otras estadísticas básicas de consultas. Usa estas estadísticas para identificar las consultas costosas, las que se ejecutan con frecuencia o las que consumen muchos datos.
Puedes visualizar estas métricas en una serie temporal con los paneles de Estadísticas de consultas. Estos paneles prediseñados te ayudan a ver los aumentos repentinos en el uso de la CPU y a identificar las consultas ineficientes.
Lee estadísticas
Las estadísticas de lectura se pueden usar para investigar las lecturas más comunes y las que consumen más recursos en tu base de datos con la API de Reads de Spanner. Estas estadísticas se recopilan y almacenan en 3 intervalos de tiempo diferentes: minuto, 10 minutos y hora. Para cada intervalo, Spanner hace un seguimiento de las lecturas que usan la mayor cantidad de recursos.
Usa las estadísticas de lectura para conocer el uso combinado de los recursos por parte de todas las lecturas, encontrar las lecturas que usan una gran cantidad de CPU y averiguar cómo cambia la frecuencia específica de una lectura con el tiempo.
Estadísticas de división
Puedes depurar los hotspots en tu base de datos para encontrar divisiones en la base de datos que estén cálidas o activas, lo que significa que un alto porcentaje de la carga en una división está restringido por los recursos disponibles. Puedes ver las estadísticas de las divisiones que tuvieron las puntuaciones de uso de CPU más altas en los últimos 6 horas, en intervalos de 1 minuto.
Estadísticas de operaciones de tablas
Puedes usar las estadísticas de operaciones de tablas para hacer lo siguiente:
- Supervisa el uso de tus tablas e índices en la base de datos.
- Encuentra tendencias en el uso de tus tablas e índices.
- Identifica los cambios en el tráfico.
Además, puedes correlacionar los cambios en el almacenamiento de la tabla con los cambios en el tráfico de escritura.
Estadísticas de tamaños de tablas
Puedes usar las estadísticas de tamaños de tablas para supervisar los tamaños históricos de las tablas y los índices de tu base de datos.
Usa las estadísticas de tamaños de tablas para encontrar tendencias en los tamaños de tus tablas, índices y tablas de flujos de cambios. También puedes hacer un seguimiento de tus tablas e índices más grandes.
Ten en cuenta que esta función solo proporciona una perspectiva histórica. No es para la supervisión en tiempo real.
Estadísticas de transacciones
Puedes usar las estadísticas de transacciones para investigar problemas relacionados con las transacciones. Por ejemplo, puedes verificar si hay transacciones de ejecución lenta que podrían estar causando una contención o identificar cambios en las formas de las transacciones que están generando regresiones en el rendimiento. Cada fila contiene estadísticas de todas las transacciones ejecutadas en la base de datos durante intervalos de 1, 10 y 60 minutos.
Puedes visualizar estas métricas en una serie temporal con el panel de Estadísticas de transacciones. El panel prediseñado te ayuda a ver las latencias en las transacciones y a identificar las transacciones problemáticas.
Estadísticas del índice vectorial
Puedes usar las estadísticas del índice de vectores para revisar el rendimiento de tu índice de vectores, identificar áreas de mejora y ajustar tu índice en función de las métricas proporcionadas.