Cómo obtener estadísticas de consulta

En esta página, se describe cómo obtener estadísticas de consulta con la función CLI de cbt de Google Cloud. 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 enviada a una tabla, Bigtable solo muestra estadísticas de consultas para las solicitudes de lectura.

Antes de comenzar

  1. Si aún no instalaste la aplicación CLI de cbt , sigue las instrucciones en la CLI de cbt descripción general 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 CLI de cbt no admite filtros.
  3. Asegúrate de tener el permiso bigtable.tables.readRows para la tabla o de ser un miembro del rol bigtable.reader.

Ejecuta tu consulta

  1. Crea una consulta con la sintaxis de Lee 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

    En la terminal, se muestran los datos leídos y una lista con los 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. filtros
    • frontend_server_latency: Es la latencia de la solicitud medida desde la Grupo de servidores de frontend de Bigtable, expresado en milisegundos

Interpreta los resultados

  • Observa la proporción de celdas vistas y de celdas devueltas. Si el cociente para cells_seen_count / cells_returned_count es 1 o cercano a 1, es un indicación de que tu consulta no causó que Bigtable procesara datos que finalmente se filtró.

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

Ejemplo

Si quieres obtener estadísticas de las consultas cuando lees todas las filas que coinciden con la normal expresión orange:*.* en una tabla llamada my-table, puedes ejecutar la 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?