Descripción de los conceptos de procesamiento paralelo masivo

Azure SQL Data Warehouse separa el proceso del almacenamiento subyacente, para que pueda escalar la capacidad de proceso con independencia del almacenamiento de datos. Para ello, la CPU, la memoria y la E/S se abstraen y agrupan en unidades de escalado de proceso denominadas unidades de almacenamiento de datos (DWU).

Una DWU representa una medida abstracta y normalizada de recursos de proceso y rendimiento. Al cambiar el nivel de servicio, se modifica el número de DWU que se asignan al sistema. A su vez, se ajustan el rendimiento y el costo del sistema. Para lograr un mayor rendimiento, se aumenta el número de DWU. Esto también aumenta los costos asociados. Para lograr un costo más bajo, se reduce el número de DWU. Esto reduce el rendimiento. Los costos de almacenamiento y de proceso se facturan por separado, por lo que cambiar el número de DWU no afecta a los costos de almacenamiento.

Arquitectura del motor de procesamiento paralelo masivo (MPP)

SQL Data Warehouse usa una arquitectura basada en nodos. Las aplicaciones conectan y emiten comandos de T-SQL para un nodo de control, que es el único punto de entrada para el almacenamiento de datos. El nodo de control ejecuta el motor de procesamiento paralelo masivo (MPP), que optimiza las consultas para el procesamiento en paralelo. Después, pasa las operaciones a los nodos de ejecución para que realicen su trabajo en paralelo. Los nodos de ejecución almacenan todos los datos del usuario en Azure Storage y ejecutan las consultas en paralelo. El Servicio de movimiento de datos (DMS) es un servicio interno de nivel de sistema que mueve datos entre los nodos según sea necesario para ejecutar consultas en paralelo y devolver resultados precisos.

Nodo de control

El nodo de control es el cerebro del almacenamiento de datos. Es el front-end que interactúa con todas las aplicaciones y conexiones. El motor de MPP se ejecuta en el nodo de control para optimizar y coordinar las consultas en paralelo. Al enviar una consulta T-SQL a SQL Data Warehouse, el nodo de control la transforma en consultas que se ejecutan en cada distribución en paralelo.

Nodos de proceso

Los nodos de proceso proporcionan la eficacia de cálculo. Las distribuciones se asignan a nodos de proceso para su procesamiento. Al pagar más recursos de proceso, SQL Data Warehouse vuelve a asignar las distribuciones a los nodos de proceso disponibles. El número de nodos de proceso va de 1 a 60, y viene determinado por el nivel de servicio del almacenamiento de datos.

Servicio de movimiento de datos

DMS es la tecnología de transporte de datos que coordina el movimiento de los datos entre los nodos de proceso. Cuando SQL Data Warehouse ejecuta una consulta, el trabajo se divide en 60 consultas más pequeñas que se ejecutan en paralelo. Cada una de estas 60 consultas más pequeñas se ejecuta en una de las distribuciones de datos subyacentes. Una distribución es la unidad básica de almacenamiento y procesamiento de consultas en paralelo que se ejecutan en datos distribuidos. Algunas consultas requieren el movimiento de datos entre los nodos para asegurarse de que las consultas en paralelo devuelvan resultados precisos. Cuando es necesario el movimiento de datos, DMS asegura que los datos correctos llegan a la ubicación correcta.