Exploración de esquemas de base de datos

Los esquemas le ayudan a hacer un seguimiento del rendimiento, del uso y de los cambios en sus modelos de datos, permitiendo una identificación y corrección de problemas más rápida.

Seguimiento de esquemas está disponible para PostgreSQL, SQL Server y MySQL.
Página de esquemas que muestra las tablas de base de datos rastreadas y las métricas a nivel de esquema en Datadog

Configuración

Para habilitar la función de esquemas, agregue el parámetro collect_schemas a su configuración de Database Monitoring:

init_config:
instances:
  - dbm: true
    host: localhost
    port: 5432
    username: datadog
    password: 'ENC[datadog_user_database_password]'
    collect_schemas:
      enabled: true
    ## Optional: Connect to a different database if needed for `custom_queries`
    # dbname: '<DB_NAME>'

Ajuste de la recopilación de esquemas

Las opciones collect_schemas disponibles y sus valores predeterminados difieren según el motor de base de datos.

OpciónPredeterminadoDescripción
enabledtrueEstablezca en false para deshabilitar la recopilación de esquemas. Habilitado de forma predeterminada para las versiones 7.80.0 y posteriores del Datadog Agent.
max_tables300Número máximo de tablas que el Agent recopila de la instancia. Las tablas que excedan este límite no se recopilan.
max_columns50Número máximo de columnas que el Agent recopila por tabla.
max_query_duration60Duración máxima, en segundos, de la consulta que recopila información del esquema.
collection_interval600Intervalo, en segundos, entre las ejecuciones de recopilación de esquemas.
collect_schemas:
  enabled: true
  max_tables: 1000
Si las particiones cuentan para el límite de PostgreSQL max_tables depende del método de particionamiento. Particionamiento declarativo (PARTITION BY, PostgreSQL 10 y versiones posteriores) cuenta una tabla una vez independientemente del número de particiones, pero el particionamiento por herencia (INHERITS, la única opción en PostgreSQL 9.6) cuenta el padre y cada hijo por separado. Esto significa que las bases de datos particionadas por herencia pueden alcanzar el límite predeterminado de 300 con muchas menos tablas lógicas de lo esperado, desplazando a otras tablas. Si faltan tablas en la página de Esquemas, verifique si hay particionamiento por herencia y aumente max_tables en consecuencia.

Aumentar max_tables incrementa el costo de cada ejecución de recolección. En instancias con una gran cantidad de tablas, considere también aumentar max_query_duration y collection_interval para reducir la carga en la base de datos.

OpciónPredeterminadoDescripción
enabledfalseEstablezca en true para habilitar la recolección de esquemas.
max_tables300Número máximo de tablas que el Agent recopila de la instancia. Las tablas que excedan este límite no se recopilan.
collection_interval600Intervalo, en segundos, entre las ejecuciones de recopilación de esquemas.
collect_schemas:
  enabled: true
  max_tables: 1000
OpciónPredeterminadoDescripción
enabledfalseEstablezca en true para habilitar la recolección de esquemas.
collection_interval600Intervalo, en segundos, entre las ejecuciones de recolección de esquemas.
max_execution_time60Duración máxima, en segundos, de la consulta que recolecta la información del esquema.
collect_schemas:
  enabled: true
  collection_interval: 300

Descripción general de tablas

La descripción general de tablas enumera todas las tablas rastreadas en sus bases de datos, agrupadas por nombre de tabla, con las siguientes columnas:

ColumnaDescripción
N.º de variantesNúmero de versiones distintas de la tabla en todos los hosts.
N.º de instanciasNúmero total de instancias de tabla en todos los hosts. Por ejemplo, si una tabla tiene dos variantes con siete y ocho instancias respectivamente, el número total de instancias es 15.
N.º de columnasRecuento de columnas únicas en todas las variantes de la tabla en todos los hosts. Por ejemplo, si una variante tiene las columnas A, B, C y otra tiene A, B, D, el total de columnas únicas sería cuatro (A, B, C, D).
Bases de datosNombres de todas las bases de datos que contienen esta tabla en todos los hosts.
EsquemasEsquemas en los que aparece esta tabla en todos los hosts.
Hosts de base de datosHosts donde está presente esta tabla.

Cada fila de la tabla se puede expandir para la visualización de sus variantes de tabla y las siguientes columnas:

ColumnaDescripción
ID de varianteIdentificador único para una variante (versión) de esta tabla.
N.º de instanciasNúmero de instancias de esta tabla para esta variante.
N.º de columnasNúmero de columnas únicas en esta variante de tabla.
Bases de datosLista ordenada alfabéticamente de las bases de datos que contienen esta variante de tabla.
EsquemasLista ordenada alfabéticamente de los esquemas que contienen esta variante de tabla.
Hosts de base de datosLista ordenada alfabéticamente de los hosts donde aparece esta variante de tabla.

Visualización de los detalles de la variante de tabla

Para visualizar más detalles sobre una variante de tabla, haga clic en su fila para abrir el panel de variantes de tabla.

Panel de variantes de tabla que muestra las definiciones de columna y un índice para la tabla de inventario

Este panel le muestra información sobre la variante (versión), como:

  • Definition: Incluye columnas, índices y claves foráneas para esta variante de tabla.
  • Table Instances: Todas las instancias asociadas con esta variante de tabla.
  • Metrics: Tamaño de la tabla, escaneos secuenciales y otras métricas relacionadas (últimos 7 días por defecto).
  • Queries: Consultas que involucran esta variante de tabla (últimos 7 días por defecto).
  • Changes: Cambios de esquema que afectan esta variante de tabla (últimos 7 días por defecto).

Ver detalles de la instancia de tabla

Para visualizar los detalles de una instancia de tabla específica, vaya a la pestaña Table Instances en el panel de variante de tabla y haga clic en una fila.

Panel de instancia de tabla que muestra los detalles de columnas e índices para la tabla de inventario.

Esto abre una vista similar al panel de variante de tabla, que muestra la siguiente información para la instancia de tabla seleccionada:

  • Definition: Incluye columnas, índices y claves foráneas para esta instancia de tabla.
  • Metrics: Tamaño de la tabla, escaneos secuenciales y otras métricas relacionadas (últimos 7 días por defecto).
  • Queries: Consultas que involucran esta instancia de tabla (últimos 7 días por defecto).
  • Changes: Cambios de esquema que afectan esta instancia de tabla (últimos 7 días por defecto).

Recomendaciones

Las recomendaciones destacan posibles oportunidades para la optimización del esquema en sus tablas.

Cada recomendación incluye:

  • Un problema detectado, como una clave primaria faltante o un índice ineficiente.
  • Una explicación de por qué el problema es importante y cómo afecta el rendimiento o la integridad de la base de datos.
  • Una solución sugerida, a menudo una sentencia SQL que puede ejecutarse en la base de datos afectada.

Las recomendaciones están disponibles de forma agregada (en la parte superior de la página) y por tabla, donde cada tabla aplicable muestra sus recomendaciones correspondientes. Para obtener más información, consulte Recommendations.

Resumen de métricas

La descripción general de métricas muestra tableros para las métricas asociadas con las tablas rastreadas en cada DBMS.

Descripción general de métricas que muestra el recuento total de instancias de tabla y métricas de actividad clave en las instancias de base de datos rastreadas

Cada tablero incluye las siguientes métricas:

  • Recuento total de instancias de tabla
  • Instancias que cambian más rápido (%)
  • Instancias que cambian más rápido (bytes)
  • Instancias más accedidas
  • Instancias de mayor tamaño
  • Instancias con la mayor cantidad de filas activas
  • Instancias con los tamaños de índice más grandes
  • Instancias con bloqueos de acceso exclusivo
  • Instancias con la mayor cantidad de filas muertas
  • Instancias con la antigüedad de último vacuum más larga
  • Instancias con la antigüedad de último auto vacuum más larga