Cómo obtener estadísticas de consulta

En esta página, se explica cómo obtener estadísticas de consultas 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á destinado a desarrolladores de aplicaciones. Antes de leer esta página, debes comprender el modelo de almacenamiento de Bigtable. También debes conocer 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, ajustarla o cambiar el diseño del esquema para optimizar su rendimiento.

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

Antes de comenzar

  1. Si aún no instalaste la CLI de cbt, sigue las instrucciones de 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 de la CLI de cbt 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 que seas un miembro del rol 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 la consulta.

    cbt read TABLE_ID QUERY include-stats=full
    

    Reemplaza lo siguiente:

    • TABLE_ID: el ID único de la tabla a la que le realizas la consulta
    • QUERY: Una consulta con formato de CLI de cbt

    La terminal muestra los datos que se leyeron y una lista que contiene las siguientes estadísticas:

    • rows_seen_count: 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 los 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 los filtros.
    • frontend_server_latency: Latencia de la solicitud medida desde el grupo de servidores del frontend de Bigtable, expresada en milisegundos

Interpreta los resultados

  • Observa la proporción de celdas vistas y de celdas devueltas. Si el cociente de cells_seen_count / cells_returned_count es 1 o está cerca de 1, significa que tu consulta no hizo que Bigtable procesara los datos que, en última instancia, se filtraron.

  • Ten en cuenta la cantidad de filas que se devuelven. Cuanto más alto sea ese número, más trabajo estará realizando Bigtable. La cantidad óptima aquí depende de tu caso de uso y de los requisitos de latencia, pero, en general, una consulta que devuelve menos filas tendrá una latencia más baja.

Ejemplo

Si deseas obtener estadísticas de consultas 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 a este:

  ----------------------------------------
  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?