Dimensionamiento, escalado y comportamiento en cola del almacén SQL

En este artículo se explica el comportamiento de ajuste de tamaño, puesta en cola y escalado automático de clústeres de SQL Warehouse.

Cambio de tamaño de un almacén de SQL sin servidor

Comience siempre con un tamaño de camiseta mayor para el almacén de SQL sin servidor de lo que cree que necesitará y ajustará el tamaño a medida que pruebe. No empiece con un tamaño de camiseta pequeño para el almacén de SQL sin servidor y vaya subiendo. En general, comience con una instancia única de almacén de SQL sin servidor y confíe en Azure Databricks para ajustar el tamaño con clústeres sin servidor, priorizar cargas de trabajo y lecturas rápidas de datos. Consulte Escalado automático sin servidor y puesta en cola de consultas.

  • Para reducir la latencia de consulta de un almacén de SQL sin servidor determinado:
    • Si las consultas se desbordan en el disco, aumente el tamaño de la camiseta.
    • Si las consultas son muy paralelizables, aumente el tamaño de la camiseta.
    • Si está ejecutando varias consultas a la vez, agregue más clústeres para el escalado automático.
  • Para reducir los costos, intente reducir el tamaño de la camiseta sin desbordarse en el disco o aumentar significativamente la latencia.
  • Para ayudar a ajustar el tamaño adecuado del almacén de SQL sin servidor, use las siguientes herramientas:
    • Página de supervisión: examine el número máximo de consultas. Si el pico en cola suele ser superior a uno, agregue clústeres. El número máximo de consultas de una cola para todos los tipos del almacén de SQL es 1000. Consulte Supervisión de un almacén de SQL.
    • Historial de consultas. Consulte historial de consultas.
    • Perfiles de consulta (busque Bytes volcados en disco por encima de 1). Consulte Perfil de consulta.

Nota:

En cuanto a los almacenes de SQL sin servidor, en algunos casos, los tamaños de clúster pueden usar tipos de instancia diferentes a los que se enumeran en la documentación de almacenes de SQL pro y clásicos para un tamaño de clúster equivalente. En general, la relación precio/rendimiento de los tamaños de clúster para almacenes de SQL sin servidor es similar a la de los almacenes de SQL pro y clásicos.

Escalado automático sin servidor y puesta en cola de consultas

La administración inteligente de carga de trabajo (IWM) es un conjunto de características que mejora la capacidad de los almacenes de SQL sin servidor para procesar un gran número de consultas de forma rápida y rentable. Con las funcionalidades de predicción con tecnología de inteligencia artificial para analizar las consultas entrantes y determinar la E/S más rápida y eficaz (E/S predictiva), IWM funciona para garantizar que las cargas de trabajo tengan la cantidad correcta de recursos rápidamente. La diferencia clave radica en las funcionalidades de inteligencia artificial de Databricks SQL para responder dinámicamente a las demandas de carga de trabajo en lugar de usar umbrales estáticos.

Esta capacidad de respuesta garantiza:

  • Escalado rápido para adquirir más proceso cuando sea necesario para mantener una latencia baja.
  • Admisión de consultas más cercana a la limitación del hardware.
  • Escalado rápido para minimizar los costos cuando la demanda es baja, lo que proporciona un rendimiento coherente con los costos y recursos optimizados.

Cuando llega una consulta al almacén, la IWM predice el costo de la consulta. Al mismo tiempo, la IWM es la supervisión en tiempo real de la capacidad de proceso disponible del almacenamiento. A continuación, con los modelos de aprendizaje automático, la IWM predice si la consulta entrante tiene el proceso necesario disponible en el proceso existente. Si no tiene el proceso necesario, la consulta se agrega a la cola. Si tiene el proceso necesario, la consulta comienza a ejecutarse inmediatamente.

La IWM supervisa la cola aproximadamente cada 10 segundos. Si la cola no disminuye rápidamente, el escalado automático se inicia para adquirir más proceso rápidamente. Una vez agregada la nueva capacidad, las consultas en cola se admiten en los nuevos clústeres. Con los almacenes de SQL sin servidor, se pueden agregar clústeres nuevos rápidamente y se pueden crear más de un clúster a la vez. El número máximo de consultas de una cola para todos los tipos del almacén de SQL es 1000.

Tamaños de clúster para almacenes de SQL profesionales y clásicos

En la tabla de esta sección, se asignan los tamaños del clúster del almacén de SQL al tamaño del controlador del clúster de Azure Databricks y el número de roles de trabajo. El tamaño del controlador solo se aplica a almacenes de SQL pro o clásicos.

Tamaño del clúster Tipo de instancia para el controlador (solo se aplica a almacenes de SQL pro y clásicos) Número de roles de trabajo
2X-Small Standard_E8ds_v4 1 x Standard_E8ds_v4
X-Small Standard_E8ds_v4 2 x Standard_E8ds_v4
Pequeña Standard_E16ds_v4 4 x Standard_E8ds_v4
Media Standard_E32ds_v4 8 x Standard_E8ds_v4
grande Standard_E32ds_v4 16 x Standard_E8ds_v4
Mas grande Standard_E64ds_v4 32 x Standard_E8ds_v4
2X-Large Standard_E64ds_v4 64 x Standard_E8ds_v4
3X-Large Standard_E64ds_v4 128 x Standard_E8ds_v4
4X-Large Standard_E64ds_v4 256 x Standard_E8ds_v4

El tamaño de instancia de todos los roles de trabajo es Standard_E8ds_v4.

Cada controlador y rol de trabajo tienen conectados ocho discos administrados LRS Estándar de 128 GB. Los discos conectados se cobran por hora.

Cuota de vCPU de Azure requerida para almacenes SQL clásicos y pro

Para iniciar un almacén SQL clásico o pro, debe disponer de una cuota de vCPU Azure adecuada para instancias Standard_E8ds_v4 en su cuenta Azure. Use las siguientes directrices para determinar la cuota de vCPU necesaria:

  • Si solo tiene uno o dos almacenes de SQL, asegúrese de que tiene 8 vCPU de Azure disponibles para cada núcleo del clúster. Esto garantiza que tiene las vCPU de Azure adecuadas para tener en cuenta el nuevo aprovisionamiento del almacén, que se produce aproximadamente cada 24 horas. Si los almacenes de SQL usan el escalado automático o el equilibrio de carga de varios clústeres, es posible que tenga que aumentar el multiplicador.
  • A medida que aumenta el número de almacenes de SQL, permita entre 4 y 8 vCPU de Azure por cada núcleo del clúster. Databricks recomienda empezar con un número mayor y supervisar la estabilidad.
  • Las vCPU de Azure que usan los almacenes de SQL se suman a las vCPU de Azure que usan los clústeres utilizados por Ciencia de datos e Ingeniería, o por cargas de trabajo que no son de Databricks.

Para solicitar una cuota adicional de vCPU de Azure, consulte Aumento de las cuotas de vCPU de la familia de máquinas virtuales en la documentación de Azure.

Nota:

La información de esta tabla puede variar en función de la disponibilidad del producto o la región y el tipo de área de trabajo.

Colas y escalado automático para almacenes de SQL clásicos y profesionales

Azure Databricks limita el número de consultas en un clúster asignado a un almacén de SQL basado en el coste de procesar sus resultados. El escalado vertical de clústeres por almacén se basa en el rendimiento de las consultas, la tasa de consultas entrantes y el tamaño de la cola. Azure Databricks recomienda un clúster para cada 10 consultas simultáneas. El número máximo de consultas de una cola para todos los tipos del almacén de SQL es 1000.

Azure Databricks agrega clústeres en función del tiempo que se tardaría en procesar todas las consultas actualmente en ejecución, todas las consultas en cola y las consultas entrantes esperadas en los dos minutos siguientes.

  • Si es menos de 2 minutos, no se escala verticalmente.
  • Entre 2 y 6 minutos, se agrega 1 clúster.
  • Entre 6 y 12 minutos, se agregan 2 clústeres.
  • Entre 12 y 22 minutos, se agregan 3 clústeres.

De lo contrario, Azure Databricks agrega 3 clústeres más 1 clúster por cada 15 minutos adicionales de carga de consultas esperados.

Además, un almacén siempre se amplía si una consulta espera 5 minutos en la cola.

Si la carga es baja durante 15 minutos, Azure Databricks reduce verticalmente el almacén de SQL. Mantiene suficientes clústeres para controlar la carga máxima durante los últimos 15 minutos. Por ejemplo, si la carga máxima era de 25 consultas simultáneas, Azure Databricks mantiene 3 clústeres.

Cola de consultas para almacenes de SQL profesionales y clásicos

Azure Databricks pone en cola las consultas cuando todos los clústeres asignados al almacén ejecutan consultas a pleno rendimiento o cuando el almacén está en estado STARTING. El número máximo de consultas de una cola para todos los tipos del almacén de SQL es 1000.

Las consultas de metadatos (por ejemplo, DESCRIBE <table>) y las consultas de modificación de estado (por ejemplo, SET) nunca se ponen en cola, a menos que el almacén esté en estado STARTING.