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 2023-12-14 GMT+08:00

Descripción de NDP

Near Data Processing (NDP) es una solución informática de pushdown para mejorar la eficiencia de las consultas de datos. Para consultas intensivas en datos, las operaciones como la extracción de columnas, el cálculo de agregación y el filtrado de condiciones se envían a múltiples nodos en una capa de almacenamiento distribuida para su ejecución en paralelo. Esto reduce la presión de procesamiento de consultas en los nodos informáticos, mejora las capacidades de procesamiento paralelo y ahorra tráfico de red.

Arquitectura

GaussDB(for MySQL) utiliza una arquitectura con almacenamiento y cómputo desacoplados para reducir el tráfico de red. Basado en esta arquitectura, NDP se utiliza para acelerar las consultas de datos. Sin NDP, todos los datos sin procesar necesitan ser transmitidos desde los nodos de almacenamiento a los nodos de computación para el procesamiento de consultas. NDP llevó las tareas de consulta más intensivas de E/S e intensivas en CPU a los nodos de almacenamiento. Solo las columnas requeridas y las filas filtradas o los resultados agregados se envían de vuelta a los nodos de cómputo, lo que reduce en gran medida el tráfico de red. Además, el procesamiento paralelo entre nodos de almacenamiento reduce el uso de CPU de los nodos informáticos y mejora la eficiencia de la consulta.

NDP está integrado con consulta paralela. Las páginas por lotes se obtienen previamente para realizar todo el proceso en paralelo. La eficiencia de ejecución de consultas se mejora considerablemente.

Escenarios de aplicación

En términos de funciones, NDP es adecuado para los siguientes escenarios:

  1. Projection

    Poda de columnas: Solo los campos requeridos por una sentencia de consulta se envían al nodo de cómputo.

  2. Aggregate

    Las operaciones de agregación típicas incluyen COUNT, SUM, AVG, MAX, MIN y GROUP BY. Solo los resultados agregados (no todas las tuplas) se envían al motor de consultas. COUNT (*) es el más común.

  3. SELECT - WHERE cláusula para filtrado

    Las expresiones de condición comunes son COMPARE(>=,<=,<,>,==), BETWEEN, IN, AND/OR y LIKE.

    Se ejecuta una expresión de filtro en los nodos de almacenamiento. Solo las filas que cumplen las condiciones se envían al nodo de cómputo.

Restricciones de aplicación

  1. Tablas de InnoDB.
  2. Tablas con filas en formato COMPACT o DYNAMIC.
  3. Claves primarias o índices de B-tree. Hash Index o Full-Text Index no son compatibles.
  4. Sentencias SELECT entre las sentencias DML. No se admiten las sentencias de INSERT INTO SELECT ni las sentencias SELECT que bloqueen filas (como SELECT FOR SHARE/UPDATE).
  5. Expresiones con tipos numéricos, de registro, de tiempo o de cadena parcial (CHAR y VARCHAR). Se admiten los conjuntos de caracteres utf8mb4 y utf8.
  6. Predicados de expresión con operadores de comparación (<,>,=,<=,>=,!=), IN, NOT IN, LIKE, NOT LIKE, BETWEEN AND, y AND/OR.

Descripción de parámetro

Tabla 1 Descripción de parámetro

Parámetro

Nivel

Descripción

ndp_mode

Global

NOTA:
  • Para habilitar NDP a nivel mundial, póngase en contacto con el soporte técnico para obtener asistencia.
  • NDP está en la fase de prueba. Hay 10 usuarios de prueba en total.

Interruptor NDP.

Valor: off o on

Valor predeterminado: off