Partekatu bidez


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

En este artículo se explica cómo ajustar, escalar y administrar colas de consultas para almacenes sql de Databricks para optimizar el rendimiento y el costo. Databricks recomienda usar una instancia de SQL Warehouse sin servidor para la mayoría de las cargas de trabajo. Los almacenes de SQL sin servidor ofrecen el mejor rendimiento y eficacia mediante la administración dinámica de recursos para las consultas.

Administración de SQL Warehouse sin servidor

Los almacenes de SQL sin servidor usan Intelligent Workload Management (IWM) para administrar automáticamente las cargas de trabajo de consulta. IWM es un conjunto de características con tecnología de inteligencia artificial que procesan consultas de forma rápida y rentable sin necesidad de administrar la infraestructura.

Administración inteligente de cargas de trabajo y escalado automático

IWM usa modelos de aprendizaje automático para administrar dinámicamente los recursos de proceso:

  • Cuando llega una nueva consulta, IWM predice sus requisitos de recursos y comprueba la capacidad disponible.
    • Si existe capacidad, la consulta se inicia inmediatamente.
    • Si no es así, la consulta se coloca en una cola.
  • IWM supervisa continuamente la cola. Si aumentan los tiempos de espera, el escalador automático aprovisiona rápidamente más clústeres para procesar consultas en cola.
  • Cuando se reduce la demanda, IWM reduce los recursos para reducir los costos, a la vez que mantiene suficiente capacidad para controlar las cargas máximas recientes.

Este enfoque proporciona:

  • Escalado rápido para mantener una latencia de consulta baja.
  • Alto rendimiento admitiendo consultas tan pronto como esté disponible el hardware.
  • Escalado rápido para ahorrar costos durante la baja demanda.

Cambio de tamaño de un almacenamiento de SQL sin servidor

El tamaño del clúster (por ejemplo, X-Small, Medium, Large) determina los recursos de proceso disponibles para un único clúster. El escalador automático agrega o quita clústeres de ese tamaño según sea necesario.

Use las instrucciones siguientes para ayudar a elegir el tamaño correcto:

  • Comience con un único almacenamiento más grande y deje que las características sin servidor administren la simultaneidad y el rendimiento. Normalmente es más eficaz reducir el tamaño si es necesario que empezar a reducir y escalar verticalmente.
  • Si las consultas se desbordan en el disco, aumente el tamaño del clúster. Compruebe si hay derrames en el perfil de consulta.
  • En el caso de las cargas de trabajo con muchas consultas simultáneas, configure un número máximo suficiente de clústeres para controlar las cargas máximas. Supervise la métrica Consultas en cola máxima en la página de supervisión del almacenamiento.

Nota:

En el caso de los almacenes de SQL sin servidor, los tamaños de clúster pueden, en algunos casos, usar tipos de instancia diferentes a los enumerados en la documentación de almacenes 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.

Supervisión del rendimiento del almacenamiento

Puede supervisar y ajustar el tamaño de cualquier instancia de SQL Warehouse mediante estas herramientas. El número máximo de consultas de una cola para todos los tipos de almacenamiento es de 1000.

  • Página Supervisión: En la pestaña Supervisión de SQL Warehouse, active Consultas en cola máxima. Un valor coherente por encima de 0 indica que puede necesitar un tamaño de clúster mayor o más clústeres.
  • Historial de consultas: Revise el rendimiento histórico de las consultas para identificar cuellos de botella.
  • Perfil de consulta: Inspeccione los planes de ejecución de métricas, como Bytes derramados en el disco, lo que indica que el tamaño del almacenamiento puede ser demasiado pequeño.

Almacenamientos de SQL clásicos y profesionales

Los almacenes clásicos y profesionales usan un modelo de escalado manual donde se configura el número de clústeres.

Ajuste de tamaño y aprovisionamiento de clústeres

Al crear un almacenamiento clásico o profesional, elija un tamaño de clúster y establezca el número mínimo y máximo de clústeres. Estas SKU tienen un límite fijo de un clúster por cada 10 consultas simultáneas.

Tamaño del clúster Tipo de instancia de controlador 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-Grande Standard_E64ds_v4 128 x Standard_E8ds_v4
4X-Grande 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 trabajador tiene un disco administrado LRS de SSD Premium de 256 GB conectado. Los discos adjuntos se facturan 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, compruebe que tiene 8 vCPU de Azure disponibles para cada núcleo del clúster. Esto garantiza que tiene una vCPU de Azure adecuada para permitir el reaprovisionamiento del almacenamiento, que se produce aproximadamente cada 24 horas. Es posible que tenga que aumentar el multiplicador si los almacenes de SQL usan el escalado automático o el equilibrio de carga de varios clústeres.

  • 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 utilizadas por los almacenes SQL se suman a las vCPU de Azure empleadas por los clústeres usados por Ingeniería de Data Science & 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.

Lógica de puesta en cola y escalado automático

Para almacenes clásicos y profesionales, el escalado automático agrega clústeres en función del tiempo estimado para procesar todas las consultas en ejecución y en cola:

  • Carga de consultas de 2 a 6 minutos: agregue 1 clúster.
  • 6 a 12 minutos: agregue 2 clústeres.
  • 12-22 minutos: agregue 3 clústeres.
  • Más de 22 minutos: agregue 3 clústeres más 1 más por cada 15 minutos adicionales de carga.

Reglas adicionales:

  • Si una consulta espera en la cola durante 5 minutos, el almacenamiento se escala verticalmente.
  • Si la carga permanece baja durante 15 minutos consecutivos, el almacenamiento se reduce verticalmente al mínimo necesario para controlar la carga máxima desde ese período.