La consulta SQL se escribe en tablas. Para ejecutar una consulta, la base de datos de Vertica genera un plan de consulta. El plan de consulta es la secuencia de pasos utilizados para determinar la ruta de ejecución y el costo de los recursos para cada paso. El costo calculado en cada paso en un plan de consulta es la estimación de los recursos utilizados como:
- Estadísticas de distribución de datos
- Espacio del disco
- Ancho de banda de la red
- velocidad de la CPU
- Segmentación de datos en todo el clúster
Cuando envía una consulta, el iniciador elige las proyecciones a utilizar, optimiza y planifica la ejecución de la consulta. La planificación y la optimización son rápidas y requieren como máximo unos pocos milisegundos.
En función de las proyecciones elegidas, el plan de consulta que produce el optimizador se descompone en «miniplanes». Estos miniplanes se distribuyen a los otros Nodes, conocidos como ejecutores. Los Nodes procesan los miniplanes en paralelo, intercalados con operaciones de movimiento de datos.
La ejecución de la consulta continúa con conjuntos de resultados intermedios (filas) que fluyen a través de conexiones de red entre los Nodes según sea necesario. En las etapas finales de la ejecución de un plan de consulta, el iniciador realiza un trabajo de conclusión, como por ejemplo:
- Combinar resultados en una operación de agrupación
- Fusionar múltiples conjuntos de resultados parciales ordenados de todos los ejecutores
- Formateo de los resultados para volver al cliente
Algunas consultas pequeñas, por ejemplo, consultas en tablas de dimensiones replicadas, se pueden ejecutar localmente. En este tipo de consultas, la planificación de consultas evita comunicaciones de red innecesarias.
Publicación traducida automáticamente
Artículo escrito por sunilkannur98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA