Compartir vía


Administración de cargas de trabajo

Se aplica a: punto de conexión de análisis SQL y un almacén de Microsoft Fabric

En este artículo se describe la arquitectura y la administración de cargas de trabajo detrás del almacenamiento de datos en Microsoft Fabric.

Procesamiento de datos

El almacén y el punto de conexión de análisis SQL comparten la misma arquitectura de procesamiento subyacente. A medida que se recuperan o ingieren los datos, aprovecha un motor distribuido creado tanto para funciones de cálculo como para datos pequeños y a gran escala.

El sistema de procesamiento no tiene servidor en esa capacidad de proceso de back-end y se escala y reduce verticalmente de forma autónoma para satisfacer las demandas de carga de trabajo.

Diagrama del motor SQL.

Cuando se envía una consulta, el front-end (FE) de SQL optimiza las consultas para determinar el mejor plan en función del tamaño y la complejidad de los datos. Una vez generado el plan, se le asigna al motor de procesamiento de consultas distribuidas (DQP). El DQP organiza la ejecución distribuida de la consulta al dividirla en consultas más pequeñas que se ejecutan en nodos de ejecución de back-end. Cada consulta pequeña se denomina tarea y representa una unidad de ejecución distribuida. Se leen los archivos de OneLake, se combinan los resultados de otras tareas, se agrupan u ordenan los datos recuperados de otras tareas. Para los trabajos de ingesta, también se escriben los datos en las tablas de destino adecuadas.

Cuando se procesan los datos, los resultados se devuelven al front-end de SQL para brindar el servicio al usuario o llamar a la aplicación.

Elasticidad y resistencia

La capacidad de proceso de back-end se beneficia de una arquitectura de aprovisionamiento rápido. Aunque no hay ningún Acuerdo de Nivel de Servicio sobre la asignación de recursos, normalmente se adquieren nodos nuevos en unos segundos. A medida que aumenta la demanda de recursos, las nuevas cargas de trabajo aprovechan la capacidad escalada horizontalmente. El escalado es una operación en línea y el procesamiento de consultas se lleva a cabo sin interrupciones.

Diagrama que muestra el aprovisionamiento rápido de recursos.

El sistema es tolerante a errores y, si un nodo pasa a un estado incorrecto, las operaciones que se ejecutan en el nodo se redistribuyen a nodos correctos para su finalización.

El almacenamiento y el punto de conexión de análisis SQL proporcionan capacidad ampliable que permite a las cargas de trabajo usar más recursos para lograr un mejor rendimiento y usar suavizado para ofrecer alivio a los clientes que crean picos repentinos durante las horas punta, a la vez que tienen una gran cantidad de capacidad inactiva que no se usa. El suavizado simplifica la administración de la capacidad mediante la propagación de la evaluación del proceso para garantizar que los trabajos del cliente se ejecuten sin problemas y de forma eficaz.

Programación y recursos

El programador de procesamiento de consultas distribuidas funciona por tareas. Las consultas se representan en el programador como un grafo acíclico dirigido (DAG) de tareas. Este concepto es familiar para los usuarios de Spark. Un DAG permite paralelismo y simultaneidad, ya que las tareas que no dependen entre sí se pueden ejecutar de manera simultánea o en desorden.

A medida que llegan las consultas, sus tareas se programan en función de los principios de tipo primero en entrar, primero en salir (FIFO). Si hay capacidad inactiva, el programador puede usar la "mejor opción" para optimizar la simultaneidad.

Cuando el programador identifica la presión de recursos, invoca una operación de escalado. El escalado se administra de forma autónoma y la topología de back-end crece a medida que aumenta la simultaneidad. Como tarda unos segundos en adquirir nodos, el sistema no está optimizado para un rendimiento coherente de subsegundos de las consultas que requieren un procesamiento distribuido.

Cuando disminuye la presión, la topología de back-end se reduce verticalmente y libera el recurso a la región.

Aislamiento de ingesta

Se aplica a: Almacén en Microsoft Fabric

En el grupo de proceso de back-end de Warehouse en Microsoft Fabric, las actividades de carga proporcionan un aislamiento de recursos de las cargas de trabajo analíticas. Esto mejora el rendimiento y la confiabilidad, ya que los trabajos de ingesta se pueden ejecutar en nodos dedicados optimizados para ETL y no compiten con otras consultas o aplicaciones para recursos.

Diagrama que muestra el aislamiento de las actividades de ingesta.

Sesiones

El almacén y el punto de conexión de análisis SQL tienen un límite de sesión de usuario de 724 por área de trabajo. Si se alcanza este límite, se devolverá un error: The user session limit for the workspace is 724 and has been reached.

Nota:

Como Microsoft Fabric es una plataforma SaaS, hay muchas conexiones del sistema que se ejecutan para optimizar continuamente el entorno. Las DMV muestran tanto sesiones del sistema como de usuario. Para obtener más información, consulte Supervisión mediante DMV.

procedimientos recomendados

El área de trabajo de Microsoft Fabric proporciona un límite de aislamiento natural del sistema de proceso distribuido. Las cargas de trabajo pueden aprovechar este límite para administrar el costo y el rendimiento.

Los accesos directos de OneLake se pueden usar para crear réplicas de solo lectura de las tablas en otras áreas de trabajo para distribuir la carga en varios motores SQL que crean un límite de aislamiento. Esto puede aumentar eficazmente el número máximo de sesiones que realizan consultas de solo lectura.

Diagrama que muestra el aislamiento de dos áreas de trabajo, por ejemplo, el área de trabajo de Finanzas y Marketing.