Los grupos elásticos ayudan a administrar y escalar varias bases de datos de Azure SQL Database

Se aplica a:Azure SQL Database

Los grupos elásticos de Azure SQL Database son una solución simple y rentable para administrar y escalar varias bases de datos con distintas e imprevisibles demandas de uso. En un grupo elástico, las bases de datos se encuentran en un único servidor y comparten un número establecido de recursos a un precio establecido. Los grupos elásticos en SQL Database permiten a los desarrolladores de software como servicio (SaaS) optimizar el rendimiento del precio para un grupo de bases de datos dentro de un presupuesto prescrito a la vez que se ofrece elasticidad de rendimiento para cada base de datos.

¿Qué son los grupos elásticos de SQL?

Los desarrolladores de SaaS crean aplicaciones sobre capas de datos a gran escala con varias bases de datos. Un patrón de aplicación habitual es aprovisionar una base de datos única para cada cliente. Sin embargo, cada cliente suele tener patrones de uso variables e impredecibles y resulta difícil predecir los requisitos de recursos de cada usuario de bases de datos. Tradicionalmente, había dos opciones:

  • Aprovisionar recursos en exceso basándose en el uso máximo y pagando de más.
  • Aprovisionar por debajo de lo necesario para ahorrar costes a expensas del rendimiento y satisfacción del cliente durante las horas de máxima actividad.

Los grupos elásticos solucionan este problema y se aseguran de que las bases de datos obtengan los recursos de rendimiento que necesitan y en el momento en que los necesitan. Proporcionan un mecanismo de asignación de recursos simples dentro de un presupuesto predecible. Para más información acerca de los modelos de diseño de las aplicaciones SaaS que usan grupos elásticos, consulte Modelos de diseño para las aplicaciones SaaS multiinquilino y SQL Database de Azure.

Importante

No se realizan cargos por base de datos para los grupos elásticos. Se le cobra por cada hora que un grupo exista en la eDTU o los núcleos virtuales más altos, con independencia del uso o de si el grupo estuvo activo durante menos de una hora.

Los grupos elásticos permiten adquirir recursos para un grupo compartido entre varias bases de datos con el fin de hacer frente a periodos impredecibles de uso por bases de datos individuales. Puede configurar los recursos para el grupo según el modelo de compra basado en DTU o el modelo de compra basado en núcleo virtual. El requisito de recursos para un grupo viene determinado por el uso agregado de sus bases de datos.

La cantidad de recursos disponibles para el grupo se determina mediante su presupuesto. Todo lo que tiene que hacer es:

  • Agregar bases de datos al grupo.
  • Opcionalmente, establecer los recursos mínimos y máximos para las bases de datos. Estos recursos son DTU mínimas y máximas o núcleos virtuales mínimos o máximos, en función de la elección del modelo de recursos.
  • Establecer los recursos del grupo en función del presupuesto.

Puede usar grupos para aumentar de forma eficiente su servicio a partir de un método Lean Startup hasta un negocio con madurez a una escala cada vez mayor.

Dentro del grupo, a las bases de datos individuales se les proporciona la flexibilidad de usar recursos dentro de unos parámetros establecidos. Con cargas elevadas, una base de datos puede consumir más recursos para satisfacer la demanda. Las bases de datos con cargas ligeras consumen menos y las bases de datos sin carga no consumen ningún recurso. El aprovisionamiento de recursos para el grupo entero en lugar de para bases de datos únicas simplifica las tareas de administración. Además, cuenta con un presupuesto predecible para el grupo.

Se pueden agregar más recursos adicionales a un grupo existente con un tiempo de inactividad mínimo. De manera similar, si ya no se necesitan recursos adicionales, se pueden quitar de un grupo existente en cualquier momento. También puede agregar o quitar las bases de datos del grupo. Si una base de datos infrautiliza recursos de forma predecible, sáquela del grupo.

Nota:

Al mover las bases de datos dentro o fuera de un grupo elástico, no hay tiempo de inactividad, aparte de un breve periodo (del orden de segundos) cuando se descartan las conexiones de base de datos al final de la operación.

¿Cuándo se debe usar un grupo elástico de SQL Database?

Los grupos son apropiados para un amplio número de bases de datos con patrones de utilización específicos. Para una base de datos determinada, este patrón está caracterizado por un uso medio bajo con picos de uso poco frecuentes. Por el contrario, no se deben colocar en el mismo grupo elástico varias bases de datos con un uso persistente de medio a alto.

Cuantas más bases de datos pueda agregar a un grupo, mayor será su ahorro. Según su patrón de uso de la aplicación, es posible ver los ahorros con tan solo dos bases de datos S3.

En las secciones siguientes, obtendrá ayuda para evaluar si resulta beneficioso que la colección específica de bases de datos se incluya en un grupo. En los ejemplos se usan grupos estándar, pero se aplican los mismos principios a los grupos elásticos de otros niveles de servicio.

Evaluación de los patrones de utilización de base de datos

En la siguiente ilustración se muestra un ejemplo de una base de datos que está mucho tiempo inactiva, pero que tiene picos periódicos de actividad. Este patrón de uso es adecuado para un grupo.

Gráfico en el que se muestra una base de datos única adecuada para un grupo.

El gráfico muestra el uso de DTU durante una hora de 12:00 a 1:00, donde cada punto de datos tiene una granularidad de un minuto. A las 12:10, DB1 llega a las 90 DTU, pero su uso medio general es de menos de cinco DTU. Se requiere un tamaño de proceso de S3 para ejecutar esta carga de trabajo en una base de datos única, pero este tamaño deja a la mayoría de los recursos sin usar durante los periodos de baja actividad.

Un grupo permite que estas DTU no usadas se compartan entre varias bases de datos. Un grupo reduce las DTU necesarias y el costo general.

Según el ejemplo anterior, suponga que otras bases de datos tienen patrones de uso similares como DB1. En las siguientes dos ilustraciones, el uso de cuatro bases de datos y veinte bases de datos se estratifican en el mismo gráfico para mostrar la naturaleza sin solapamiento de su uso con el paso del tiempo mediante el modelo de compra basado en DTU:

Gráfico en el que se muestran cuatro bases de datos con un patrón de utilización adecuado para un grupo.

Gráfico en el que se muestran 20 bases de datos con un patrón de utilización adecuado para un grupo.

En el gráfico anterior, el uso total de DTU en las 20 bases de datos está representado por la línea negra. Esta línea muestra que el uso de DTU agregado nunca supera las 100 DTU e indica que las 20 bases de datos pueden compartir 100 eDTU en este periodo. El resultado es una reducción en un factor de 20 en las DTU y una reducción del precio 13 veces menor si se compara con la colocación de cada base de datos en los tamaños de proceso S3 para bases de datos únicas.

Este ejemplo es ideal porque:

  • Existen grandes diferencias entre la utilización de picos y la utilización media por base de datos.
  • La utilización de picos para cada base de dato se produce en puntos de tiempo distintos.
  • Las eDTU se comparten entre varias bases de datos.

En el modelo de compra basado en DTU, el precio de un grupo es una función de las eDTU del grupo. Aunque el precio unitario de una eDTU para un grupo es 1,5 veces mayor que el de una DTU para una base de datos única, las eDTU de grupo pueden compartirse entre muchas bases de datos, por lo que el número total de eDTU que se necesitan es menor. Estas distinciones de precio y uso compartido de la eDTU son la base de la posibilidad de ahorro en el precio que pueden proporcionar los grupos.

En el modelo de compra de núcleo virtual, el precio por unidad de núcleo virtual para los grupos elásticos es el mismo que el de la unidad de núcleo virtual para las bases de datos únicas.

¿Cómo se elige el tamaño de grupo correcto?

El mejor tamaño para un grupo depende de los recursos agregados necesarios para todas las bases de datos del grupo. Debe determinar:

  • Número máximo de recursos de proceso que todas las bases de datos del grupo utilizan. Los recursos de proceso se indexan mediante eDTU o núcleos virtuales, en función del modelo de compra elegido.
  • Número máximo de bytes de almacenamiento utilizado por todas las bases de datos en el grupo.

Para obtener información sobre los niveles de servicio y los límites de recursos de cada modelo de compra, consulte los artículos acerca del modelo de compra basado en DTU o del modelo de compra basado en núcleo virtual.

Nota

Los grupos elásticos de Hiperescala están actualmente en versión preliminar.

Los siguientes pasos pueden ayudarle a calcular si un grupo es más rentable que las bases de datos únicas:

  1. Calcule las eDTU o los núcleos virtuales necesarios para el grupo:

    1. Para el modelo de compra basado en DTU:
      1. MAX(<Número total de bases de datos × promedio de uso de DTU por base de datos>, <Número de bases de datos con picos simultáneos × Uso de picos de DTU por base de datos>)
    2. Para el modelo de compra basado en núcleo virtual:
      1. MAX(<Número total de bases de datos × promedio de uso de núcleos virtuales por base de datos>, <Número de bases de datos con picos simultáneos × Uso de picos de núcleo virtual por base de datos>)
  2. Calcule el espacio de almacenamiento total necesario para el grupo agregando el tamaño de datos necesarios para todas las bases de datos del grupo. Para el modelo de compra basado en DTU, determine el tamaño del grupo de eDTU que proporciona esta cantidad de almacenamiento.

  3. El modelo de compra basado en DTU toma las estimaciones de eDTU más grandes del paso 1 y el paso 2.

    1. El modelo de compra basado en núcleo virtual toma la estimación de núcleos virtuales del paso 1.
  4. Consulte la página de precios de SQL Database.

    1. Busque el tamaño de grupo más pequeño mayor que la estimación del paso 3.
  5. Compare el precio del grupo del paso 4 con el de usar los tamaños de proceso adecuados para bases de datos únicas.

Importante

Si el número de bases de datos de un grupo se aproxima al máximo admitido, asegúrese de consultar Administración de recursos en grupos elásticos densos.

Propiedades por base de datos

Opcionalmente, puede establecer propiedades por base de datos para modificar patrones de consumo de recursos en los grupos elásticos. Para obtener más información, consulte la documentación sobre los límites de recursos para los grupos elásticos de DTU y núcleos virtuales.

Uso de otras características de SQL Database con grupos elásticos

Puede usar otras características de SQL Database con grupos elásticos.

Trabajos elásticos y grupos elásticos

Con un grupo, las tareas de administración se simplifican al ejecutarse los scripts en trabajos elásticos . Un trabajo elástico elimina la mayoría de las tediosas tareas asociadas con un gran número de bases de datos.

Para más información sobre otras herramientas de bases de datos para trabajar con varias bases de datos, consulte Escalado horizontal con Azure SQL Database.

Opciones de continuidad de negocio para bases de datos de un grupo elástico

Las bases de datos agrupadas suelen ser compatibles con las mismas características de continuidad empresarial que encontrará en las bases de datos únicas:

  • Restauración a un momento dado: la restauración a un momento dado usa copias de seguridad automáticas de bases de datos para recuperar una base de datos de un grupo en un momento específico. Consulte Restauración a un momento dado.
  • Georestauración: la georestauración proporciona la opción de recuperación predeterminada cuando una base de datos no está disponible debido a una incidencia en la región en la que se hospeda. Vea Restauración geográfica.
  • Replicación geográfica activa: en el caso de aplicaciones con requisitos de recuperación más exigentes que los que puede ofrecer la restauración geográfica, configura la replicación geográfica activa o un grupo de conmutación por error.

Para obtener más información sobre estas estrategias, vea Guía de recuperación ante desastres de Azure SQL Database.

Creación de un nuevo grupo elástico de SQL Database mediante Azure Portal

Dispone de dos maneras de crear un grupo elástico en Azure Portal:

  • Crear un grupo elástico y seleccionar un servidor existente o nuevo.
  • Crear un grupo elástico a partir de un servidor existente.

Para crear un grupo elástico y seleccionar un servidor existente o nuevo:

  1. Vaya a Azure Portal para crear un grupo elástico. Busque y seleccione Azure SQL.

  2. Seleccione Crear para abrir el panel Seleccione una opción de implementación de SQL. Para ver más información sobre los grupos elásticos, en el mosaico Bases de datos, seleccione Mostrar detalles.

  3. En el icono Bases de datos, seleccione Grupo elástico en la lista desplegable Tipo de recurso. Seleccione Crear.

    Captura de pantalla en la que se muestra la creación de un grupo elástico.

  4. Después, administre el grupo elástico mediante Azure Portal, PowerShell, la CLI de Azure, la API REST o T-SQL.

Para crear un grupo elástico a partir de un servidor existente:

  1. Vaya a un servidor existente y seleccione Grupo nuevo para crear un grupo directamente en ese servidor.

    Nota

    Puede crear varios grupos a un servidor, pero no puede agregar bases de datos de servidores diferentes al mismo grupo.

    El nivel de servicio del grupo determina las características disponibles para las bases de datos elásticas del grupo y la cantidad máxima de recursos disponibles para cada base de datos. Para más información, consulte los límites de recursos para los grupos elásticos en el modelo de DTU. Para conocer los límites de recursos basados en núcleos virtuales, consulte Límites de recursos basados en núcleos virtuales para grupos elásticos.

  2. Para configurar los recursos y fijar el precio del grupo, seleccione Configurar grupo. A continuación, seleccione un nivel de servicio, agregue las bases de datos al grupo y configure los límites de recursos para el grupo y sus bases de datos.

  3. Después de configurar el grupo, seleccione Aplicar, asigne un nombre al grupo y seleccione Aceptar para crear el grupo.

  4. Después, administre el grupo elástico mediante Azure Portal, PowerShell, la CLI de Azure, la API REST o T-SQL.

Supervisión de un grupo elástico y sus bases de datos

En Azure Portal puede supervisar el uso de un grupo elástico y las bases de datos de ese grupo. También puede realizar un conjunto de cambios en el grupo elástico y enviar todos los cambios a la vez. Estos cambios incluyen agregar o quitar bases de datos, cambiar la configuración del grupo elástico o cambiar la configuración de la base de datos.

Puede utilizar las herramientas integradas de supervisión de rendimiento y de alertas en combinación con las clasificaciones del rendimiento. SQL Database también puede emitir métricas y registros de recurso para facilitar la supervisión.

Casos prácticos de clientes

  • SnelStart: SnelStart usó grupos elásticos con SQL Database para expandir rápidamente sus servicios de negocio a una velocidad de 1000 bases de datos de SQL nuevas cada mes.
  • Umbraco: Umbraco usa grupos elásticos con SQL Database para aprovisionar y escalar rápidamente servicios para miles de inquilinos en la nube.
  • Daxko/CSI: Daxko/CSI usa grupos elásticos con SQL Database para acelerar su ciclo de desarrollo y mejorar sus servicios al cliente y el rendimiento.