Obtener estadísticas de consultas

En esta página, se describe cómo obtener estadísticas de consulta con la CLI de cbt. También puedes obtener estadísticas de consultas con la biblioteca cliente de Go para Cloud Bigtable.

El contenido que se proporciona aquí está dirigido a desarrolladores de aplicaciones. Antes de leer esta página, debes comprender el modelo de almacenamiento de Bigtable. También debes estar familiarizado con las prácticas recomendadas para el diseño de esquemas y comprender el rendimiento.

La capacidad de obtener información sobre una consulta de Bigtable puede ser útil cuando desarrollas una aplicación. Te permite obtener datos sobre el rendimiento de una consulta y, luego, ajustar la consulta o cambiar el diseño del esquema para optimizar el rendimiento de la consulta.

Aunque, en general, una consulta es cualquier solicitud de datos que se envía a una tabla, Bigtable muestra estadísticas de consulta solo para las solicitudes de lectura.

Antes de comenzar

  1. Si aún no instalaste la CLI de cbt, sigue las instrucciones que se indican en la descripción general de la CLI de cbt incluidos los pasos para crear un archivo .cbtrc.
  2. Revisa la sección Lee filas de la referencia cbt de la CLI para familiarizarte con la sintaxis de la línea de comandos y las opciones disponibles para enviar una solicitud cbt read a tu tabla. Ten en cuenta que la CLI de cbt no admite filtros.
  3. Asegúrate de tener el permiso bigtable.tables.readRows para la tabla o de ser un principal de la función bigtable.reader.

Ejecuta tu consulta

  1. Crea una consulta con la sintaxis para Leer filas.

  2. Ejecuta el siguiente comando. El parámetro include-stats=full le indica a Bigtable que muestre las estadísticas de consulta.

    cbt read TABLE_ID QUERY include-stats=full
    

    Reemplaza lo siguiente:

    • TABLE_ID: Es el ID único de la tabla que consultas.
    • QUERY: Una consulta cbt con formato CLI

    En la terminal, se muestran los datos que se leyeron y una lista que contiene las siguientes estadísticas:

    • rows_seen_count: Es la cantidad de filas que Bigtable procesó para la solicitud.
    • rows_returned_count: Es la cantidad de filas que se muestran después de aplicar filtros.
    • cells_seen_count: Es la cantidad de celdas procesadas para la solicitud.
    • cells_returned_count: Es la cantidad de celdas que se muestran después de aplicar filtros.
    • frontend_server_latency: Es la latencia de las solicitudes que se mide desde el grupo del servidor de frontend de Bigtable, expresada en milisegundos.

Interpreta los resultados

  • Observa la proporción entre las celdas observadas y las celdas mostradas. Si el cociente para cells_seen_count / cells_returned_count es 1 o cercano a 1, es un indicador de que tu consulta no hizo que Bigtable procesara los datos que, en última instancia, se filtraron.

  • Considera la cantidad de filas que se muestran. Cuanto más alto sea ese número, más trabajo realizará Bigtable. La cantidad óptima depende de tu caso de uso y de los requisitos de latencia, pero, en general, una consulta que muestra menos filas tendrá una latencia más baja.

Ejemplo

Si deseas obtener estadísticas de consulta cuando lees todas las filas que coinciden con la expresión regular orange:*.* en una tabla llamada my-table, puedes ejecutar lo siguiente:

cbt read my-table regex='.*orange' columns='.*:.*' include-stats=full

El resultado es similar al siguiente:

  ----------------------------------------
  orange
    Details:Color                            @ 2022/09/26-14:48:01.286000
      "orange"
    Details:Size                             @ 2022/09/26-14:48:01.286000
      "medium"

  Request Stats
  ====================
  rows_seen_count: 10
  rows_returned_count : 1
  cells_seen_count: 2
  cells_returned_count: 2
  frontend_server_latency: 13ms

¿Qué sigue?