Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-06-12 GMT+08:00

Diagnóstico de tabla

GaussDB(DWS) proporciona estadísticas y herramientas de diagnóstico para que usted aprenda el estado de la tabla, incluidos:

  • Tasa de sesgo: monitorea y analiza las estadísticas de tablas de datos en el clúster y muestra información sobre las 50 tablas más grandes cuya tasa de sesgo es superior al 5%.
  • Tasa de página sucia: monitorea y analiza las estadísticas de tablas de datos en el clúster y muestra información sobre las 50 tablas más grandes cuya tasa de sesgo es superior al 50%.
  • Auditoría DDL: La revisión DDL es un tipo de revisión SQL. Para evitar que un diseño DDL incorrecto afecte a los servicios, esta herramienta comprueba si los metadatos DDL son estándar, detectando por adelantado posibles problemas de definición de tablas. El resultado de la comprobación también se puede utilizar como referencia para localizar problemas de rendimiento.
  • Solo 8.1.1.x y versiones posteriores admiten las funciones de tasa de sesgo de tabla y tasa de página sucia. Para versiones anteriores, póngase en contacto con el soporte técnico.
  • Solo 8.1.1.300 y versiones posteriores admiten la función de revisión de DDL. Para versiones anteriores, póngase en contacto con el soporte técnico.
  • El período de recopilación de datos de las comprobaciones de sesgo de tabla y página sucia se puede configurar en la página Monitoreo de colección. La recopilación frecuente de datos puede afectar al rendimiento del clúster. Establezca un período adecuado basado en las cargas de trabajo del clúster.

Tasa de sesgo

Contexto

Las columnas de distribución inadecuadas pueden causar graves sesgos durante la computación del operador o el derramamiento de datos al disco. Las cargas de trabajo se distribuirán de manera desigual en los DN, lo que resulta en un alto uso de disco en un solo DN y afecta el rendimiento. Puede consultar la tasa de sesgo de tabla y cambiar la columna de distribución de las tablas con sesgo severo. Para clústeres de 8.1.0 o posterior, consulte ALTER TABLE. Para otras versiones, vea ¿Cómo cambio las columnas de distribución?.

Procedimiento

  1. Inicie sesión en la consola de gestión de GaussDB(DWS).
  2. En la página Clusters, busque el clúster objetivo.
  3. En la columna Operation del clúster de destino, haga clic en Monitoring Panel.
  4. En el árbol de navegación de la izquierda, elija Utilities > Table Diagnosis y haga clic en la pestaña Skew Rate. Se muestran las tablas que cumplen las condiciones de recopilación de estadísticas en el clúster.

Tasa de página sucia

Contexto

Las operaciones DML en tablas pueden generar datos sucios, que ocupan innecesariamente el almacenamiento en clúster. Puede consultar la tasa de página sucia y manejar tablas grandes y tablas con una tasa de página sucia alta. Para obtener más información, consulte Solución para el uso de alto disco y el clúster de solo lectura.

Procedimiento

  1. Inicie sesión en la consola de gestión de GaussDB(DWS).
  2. En la página Clusters, busque el clúster objetivo.
  3. En la columna Operation del clúster de destino, haga clic en Monitoring Panel.
  4. En el árbol de navegación de la izquierda, elija Utilities > Table Diagnosis de tabla y haga clic en la pestaña Dirty Page Rate. Se muestran las tablas que cumplen las condiciones de recopilación de estadísticas en el clúster.

Auditoría DDL

Consulta y exportación de resultados de auditoría de DDL

  1. Inicie sesión en la consola de gestión de GaussDB(DWS).
  2. En la página Clusters, busque el clúster objetivo.
  3. En la columna Operation del clúster de destino, haga clic en Monitoring Panel.
  4. En el árbol de navegación de la izquierda, elija Utilities > Table Diagnosis y haga clic en la pestaña DDL Audit. Se muestran los resultados de la auditoría.

    Los elementos de auditoría seleccionados se muestran en la pestaña DDL Audit de forma predeterminada. Puede configurar los elementos de auditoría en la pestaña Monitoreo de colección. Para obtener más información, consulte Tabla 1.

    Tabla 1 Conceptos de auditoría

    Concepto

    Descripción

    Número de claves de distribución (disKeyCount)

    Si no hay sesgo de datos, no utilice más de cuatro claves de distribución.

    En general, si utiliza muchas claves de distribución, los datos pueden distribuirse uniformemente en un clúster, evitando así el sesgo de datos. Sin embargo, si se utilizan demasiadas claves de distribución, el rendimiento del almacenamiento y el rendimiento de las consultas conjuntas pueden deteriorarse. Se recomienda configurar no más de cuatro claves de distribución.

    • Problema de rendimiento del almacenamiento:

      Cuando se agregan datos, la función hash calcula el resultado de cada columna de distribución, agrega los resultados y, a continuación, determina dónde distribuir los datos. Un gran número de claves de distribución requiere un cálculo complejo y que requiere mucho tiempo.

    • Problema de rendimiento de la consulta de unión:

      Durante la consulta de unión de varias tablas, si todas las columnas de la clave de distribución están implicadas en la condición de unión, no es necesario redistribuir los datos en el plan de ejecución. Si se utiliza un gran número de claves de distribución, algunas de ellas pueden no ser las columnas involucradas en la condición de unión, y puede producirse una redistribución de datos, que consume muchos recursos y lleva mucho tiempo.

    Número de columnas de índice/PCKs (indexKeyOrPckCount)

    Se recomienda que el número de claves parciales de clúster (PCK) o columnas de un índice sea inferior o igual a 4.

    • Un gran número de columnas de índice requieren muchos recursos para mantener los datos de índice, y es probable que contengan índices duplicados.
    • Mientras se importan los datos de almacén de columnas, las columnas PCK se comparan y calculan para determinar la división de CU. Un gran número de PCK consume muchos recursos y mucho tiempo, afectando el rendimiento. Para filtrar de manera eficiente las CU en una consulta, los prefijos de las columnas involucradas en las condiciones de consulta deben ser columnas PCK. y b>? (Por ejemplo, si las columnas PCK son a, b y c, los criterios de consulta deben ser a>? and b>? and c>?.) De lo contrario, se deben recorrer todas las CU y la agrupación de datos no contribuye a la aceleración de la consulta.

    PCKs no válidos (invalidPck)

    No cree columnas PCK no válidas.

    En las versiones 8.1.1 y posteriores, el clúster puede filtrar y comparar datos de los tipos char, int8, int2, int4, text, bpchar, varchar, date, timestamp y timestamptz. Si se utiliza una columna de un tipo de datos no admitido como PCK, la columna es una columna PCK no válida. No tiene efecto durante el filtrado de CU y consumirá recursos para su mantenimiento.

    Uso de datos numéricos (validityOfNumeric)

    Cuando se utilizan tipos de datos numéricos, utilice enteros si es posible. Si el requisito de precisión no es alto, utilice el tipo de datos de longitud fija flotante. El tipo de datos de longitud fija flotante tiene un mejor rendimiento informático que el tipo de datos numéricos de longitud variable.

    Es decir, si se utiliza el tipo numérico, se recomienda especificar la escala y la precisión dentro de 38 bits. Cuando se utiliza el tipo numérico para el cálculo, la capa subyacente intenta convertir el cálculo en el cálculo entre int y bigint para mejorar la eficiencia del cálculo. Es decir, se usa la optimización de enteros grandes del tipo de datos.

    En las versiones 8.1.1 y posteriores, si no se especifica ninguna precisión, se puede colocar un máximo de dígitos 131,072 antes de la coma decimal y un máximo de dígitos 16,383 después de la coma decimal. Es decir, se utilizan la escala y precisión máximas. En este caso, no se puede realizar una optimización de enteros grandes durante el cálculo, y la eficiencia del cálculo disminuye en consecuencia.

    Ancho de columna de índice (widthOfIndexKey)

    Generalmente, las columnas de índice ancho son columnas de cadena de caracteres, que no implican operaciones de comparación y conducirán a índices grandes que consumen espacio innecesario. Especifique un valor inferior a 64 bytes.

    Tamaño de la tabla de replicación (sizeOfCopyTable)

    Se identificarán las tablas que ocupan más espacio de almacenamiento que el umbral (100 MB) en un solo DN. Para estas tablas, se recomienda utilizar columnas asociadas comunes como claves de distribución (generalmente con una clave principal).

    El clúster admite tablas de replicación. Una tabla de replicación mantiene una copia completa de los datos en cada nodo y se utiliza principalmente para almacenar datos de tipos enumerados. Si una tabla contiene demasiados datos, ocupará una gran cantidad de espacio. Además, en una consulta de unión, el nodo recorre todos los datos de tabla, lo que puede tardar más tiempo que la consulta de unión después de cambiar el tipo de tabla a tabla de distribución. (Aunque los datos pueden redistribuirse en la tabla de distribución, la cantidad de datos atravesados por cada nodo disminuye.)

    Detección de sesgo para tablas de clave de distribución única (recognitionOfDataSkew)

    El sesgo de datos de las tablas de clave de distribución única se detecta mediante estadísticas. Esta auditoría sólo se aplica a tablas con una clave de distribución.

    Uso de clave de distribución (validityOfDiskey)

    En un clúster, no se recomienda utilizar una columna del tipo booleano o de fecha como columna de distribución, ya que puede causar sesgo de datos.

    Número de valores de secuencia almacenados en caché (cacheSizeOfSequence)

    Especifique un número mayor que 100.

    Si una columna de tabla utiliza secuencias, su next_value se obtiene a partir del valor almacenado en caché en el nodo local. Si se usan valores de secuencia almacenados en caché, se enviará una solicitud pidiéndole a GTM que obtenga el valor de nuevo. Si se añade una gran cantidad de datos pero solo se almacenan en caché unos pocos valores, GTM recibirá muchas solicitudes, y puede sobrecargarse e incluso romperse. Para evitar este problema, se recomienda establecer el valor de caché en un valor mayor que 100 al crear una secuencia.

    Índices optimizables (optimizableIndexKey)

    Escenarios donde se pueden optimizar los índices:

    • La columna de índice de un índice es la primera N columnas de otro índice.
    • Las columnas de índice de dos índices son las mismas, pero los órdenes son diferentes.

  5. Si el resultado de la revisión de un elemento es Failed, haga clic en View para ir a la página de detalles.

  6. Haga clic en Export en la esquina superior izquierda para exportar el resultado de la auditoría.

Conceptos de DDL de auditoría manual

  1. Inicie sesión en la consola de gestión de GaussDB(DWS).
  2. En la página Clusters, busque el clúster objetivo.
  3. En la columna de Operation del clúster de destino, seleccione Monitoring Panel. Se muestra la página de monitoreo de la base de datos.
  4. En el árbol de navegación de la izquierda, elija Utilities > Table Diagnosis y haga clic en la pestaña DDL Audit. En la página que se muestra, seleccione los elementos que se van a auditar y haga clic en One-Click Audit.