Diseño de Azure SQL Database para aplicaciones nativas de nube

Completado

Azure SQL Database es una plataforma como servicio (PaaS) que proporciona funcionalidades de escalabilidad elevadas, puede ser una excelente solución para determinadas cargas de trabajo y necesita esfuerzos de mantenimiento mínimos.

Azure SQL Database está destinada al desarrollo de aplicaciones nuevas, ya que proporciona a los desarrolladores una gran flexibilidad para crear servicios de aplicación y opciones de implementación granulares a gran escala. SQL Database ofrece una solución de bajo mantenimiento que puede ser una excelente opción para determinadas cargas de trabajo.

Modelo de compra

SQL Database incluye dos modelos de compra principales: modelo basado en núcleo virtual y modelo basado en DTU. Cada modelo de compra ofrece los siguientes niveles de servicio:

Basado en núcleo virtual

En este modelo de compra, los recursos de proceso y almacenamiento se desacoplan. Esto significa que puede escalar los recursos de almacenamiento y proceso de forma independiente entre sí. A continuación se enumeran los niveles de servicio disponibles:

Nivel de servicio Capacidad
Uso general Este nivel de servicio está diseñado para operaciones menos intensivas y ofrece opciones de proceso y almacenamiento equilibradas orientadas al presupuesto. Proporciona el nivel de proceso aprovisionado y el nivel de proceso sin servidor.
Crítico para la empresa Este nivel de servicio admite OLTP en memoria y réplica integrada de solo lectura. También incluye más memoria por núcleo y usa almacenamiento SSD local, que está diseñado para cargas de trabajo sensibles al rendimiento.
Hiperescala Hiperescala presenta nuevas características de escalado horizontal que usan técnicas avanzadas para agregar nodos de proceso a medida que aumentan los tamaños de los datos. Solo se admite en una base de datos SQL única. Hiperescala permite escalar los recursos de almacenamiento y proceso de forma significativa sobre los límites disponibles para los niveles de servicio De uso general y Crítico para la empresa.

Basado en DTU

En el modelo de DTU, hay tres niveles de servicio disponibles: Básico, Estándar y Premium. Los recursos de proceso y almacenamiento dependen del nivel de DTU y proporcionan varias funcionalidades de rendimiento con un límite de almacenamiento fijo, retención de copia de seguridad y costo.

Por ejemplo, si la base de datos crece hasta el punto en que alcanza el límite máximo de almacenamiento, tendría que aumentar la capacidad de DTU, incluso si el uso del proceso es bajo.

La operación de escalado en SQL Database puede producir una breve interrupción de la conexión al final. Hay dos cambios principales que desencadenan este comportamiento:

  • Una vez que se inicia una operación de escalado que necesita una conmutación por error interna.
  • Al agregar bases de datos al grupo elástico, o quitarlas.

Puede usar una lógica de reintento adecuada en la aplicación para controlar los errores de conexión.

Nota:

Azure SQL Managed Instance no admite el modelo de compra basado en DTU.

Nivel de computación sin servidor

A pesar del nombre, para el nivel de proceso sin servidor es necesario tener un servidor con la base de datos. La opción sin servidor puede considerarse como una solución de escalado automático y pausa automático para la base de datos SQL. Es eficaz para reducir los costos en entornos de desarrollo y pruebas. Por ejemplo, puede configurar una configuración mínima y máxima de núcleos virtuales para su base de datos, que se escala dinámicamente en función de su carga de trabajo.

La característica de retraso de pausa automática le permite definir el período de tiempo en que la base de datos estará inactiva antes de que se pause automáticamente. La característica de retraso de pausa automática se puede configurar de 1 hora a siete días. Como alternativa, se puede deshabilitar la característica de retraso de pausa automática.

La operación de reanudación se desencadena cuando se produce el siguiente intento de acceso a la base de datos y solo se aplican cargos de almacenamiento cuando la base de datos está en pausa.

Propiedades de SQL Database sin servidor de Azure Portal

La imagen anterior muestra dónde se pueden cambiar las propiedades de escalado automático y pausa automática para el nivel de computación sin servidor.

Modelo de implementación

Hay dos modelos de implementación principales al implementar SQL Database en Azure: base de datos única y grupo elástico. Los grupos elásticos comparten recursos con otras bases de datos que forman parte del mismo grupo, mientras que los recursos de bases de datos únicas se administran de forma independiente.

SQL Database, al igual que las máquinas virtuales, se puede implementar mediante plantillas de Azure Resource Manager, PowerShell, la CLI de Azure o Azure Portal.

Base de datos única

La base de datos única es el modelo de implementación más sencillo de Azure SQL Database. Cada una de las bases de datos se administra individualmente desde perspectivas de escala y tamaño de datos. Cada base de datos implementada en este modelo tiene sus propios recursos dedicados, incluso si se implementa en el mismo servidor lógico.

Puede supervisar el uso de recursos de base de datos mediante Azure Portal. Esta característica le permite identificar fácilmente el rendimiento de la base de datos, como se muestra en la imagen siguiente:

Propiedades de SQL Database de Azure Portal

Grupo elástico

Los grupos elásticos permiten asignar recursos de almacenamiento y proceso a un grupo de bases de datos, en lugar de tener que administrar los recursos de cada base de datos individualmente. Además, los grupos elásticos son más fáciles de escalar que las bases de datos únicas, ya que no es necesario escalar bases de datos individuales debido a los cambios realizados en el grupo elástico.

Los grupos elásticos proporcionan una solución rentable para el modelo de aplicación de software como servicio, ya que los recursos se comparten entre todas las bases de datos. Puede configurar recursos basados en el modelo de compra basado en DTU o en el modelo de compra basado en núcleo virtual.

Debido a la naturaleza de esta característica, se recomienda supervisar continuamente los recursos para identificar picos de rendimiento simultáneos que podrían afectar a otras bases de datos que forman parte del mismo grupo elástico. A menudo, es posible que tenga que revisar la estrategia de asignación para asegurarse de que hay suficientes recursos disponibles para todas las bases de datos que comparten el mismo grupo elástico.

El grupo elástico es una buena opción para la arquitectura multiinquilino con un uso medio bajo, donde cada inquilino tiene su propia copia de la base de datos.

Opciones de red

Azure SQL Database tiene un punto de conexión de Internet público de forma predeterminada. El acceso a este punto de conexión se puede controlar por medio de reglas de firewall, o bien limitarse a redes de Azure específicas, mediante características como puntos de conexión de Virtual Network o Private Link.

Copias de seguridad y restauración

Azure proporciona funcionalidades de copia de seguridad y restauración sin problemas para SQL Database y SQL Managed Instance. Ahora obtendrá información sobre algunas de las características más importantes.

Copia de seguridad continua

Con SQL Database, puede aumentar la eficiencia administrativa sabiendo que las bases de datos se copian periódicamente y que se copian continuamente a un almacenamiento con redundancia geográfica con acceso de lectura (RA-GRS).

Se realizan copias de seguridad completas cada semana, copias de seguridad diferenciales cada 12-24 horas y copias de seguridad del registro de transacciones cada 5-10 minutos.

Restauración geográfica

Como las copias de seguridad tienen redundancia geográfica de forma predeterminada para SQL Database y SQL Managed Instance, puede restaurar fácilmente las bases de datos en otra región geográfica, lo que resulta especialmente útil para escenarios de recuperación ante desastres menos estrictos.

El almacenamiento de copia de seguridad se factura de forma independiente al almacenamiento normal de archivos de base de datos. Pero al aprovisionar una instancia de SQL Database, el almacenamiento de copia de seguridad se crea con el tamaño máximo de la capa de datos seleccionada para la base de datos sin costo adicional.

La duración de una operación de restauración geográfica puede verse afectada por varios componentes subyacentes, como el tamaño de la base de datos, el número de registros de transacciones implicados en una operación de restauración y la cantidad de solicitudes de restauración simultáneas que se procesan en la región de destino.

Nota:

La restauración geográfica está disponible cuando la propiedad de redundancia de almacenamiento de copia de seguridad está establecida en almacenamiento de copia de seguridad con redundancia geográfica.

Recuperación a un momento dado (PITR)

Puede configurar una directiva de retención a un momento dado específica para cada base de datos que se ejecute en una oferta de SQL Database. El período de retención de SQL Database se puede establecer de 1 a 35 días. De hecho, si no se especifica, la configuración predeterminada es de siete días.

Puede restaurar las bases de datos a un momento específico en el tiempo según la retención definida, pero PITR solo se admite si va a restaurar una base de datos en el mismo servidor en el que se ha originado la copia de seguridad. Puede usar Azure Portal, Azure PowerShell, la CLI de Azure o la API REST para restaurar una instancia de SQL Database.

Retención a largo plazo (LTR)

La retención a largo plazo es útil para escenarios en los que es necesario establecer la directiva de retención más allá de lo que ofrece Azure. Puede establecer una directiva de retención durante un máximo de 10 años y esta opción está deshabilitada de forma predeterminada.

Propiedades de retención a largo plazo de Azure Portal

En la imagen anterior, puede configurar directivas de retención a largo plazo mediante Azure Portal. Una vez seleccionada la base de datos, se abre un nuevo panel en la parte derecha de la pantalla, donde se pueden sobrescribir las propiedades predeterminadas.

Para más información sobre las copias de seguridad automatizadas, vea Copias de seguridad automatizadas: Azure SQL Database y Azure SQL Managed Instance.

Ajuste automático.

El ajuste automático es una característica integrada que se basa en funcionalidades de regresión de aprendizaje automático e identifica automáticamente las oportunidades de ajuste en función del rendimiento de las consultas.

Actualmente, el ajuste automático incluye las características siguientes:

  • Identificación de consultas que consumen muchos recursos
  • Forzar el último plan de ejecución bueno
  • Adición de índices
  • Eliminación de índices

Los servicios de Azure usan una combinación de características avanzadas integradas para determinar los mejores índices para el patrón de consulta. Inicialmente, estos índices se prueban en una copia de la base de datos y, por último, se aplican a la base de datos.

Todas las bases de datos heredan la configuración de su servidor primario y puede deshabilitar fácilmente esta característica en cualquier momento.

Consulta elástica (versión preliminar)

La consulta elástica permite ejecutar consultas de T-SQL que unen varias bases de datos en SQL Database. Esta característica es útil para las aplicaciones que usan nombres de tres y cuatro partes que no se pueden cambiar. También aumenta la portabilidad a medida que permite la migración.

Las consultas elásticas admiten las siguientes estrategias de creación de particiones:

Nivel de servicio Capacidad
Creación de partición vertical También se denominan consultas entre bases de datos. Se crean particiones verticales de los datos entre muchas bases de datos. Los esquemas son diferentes para cada base de datos. Por ejemplo, es posible que utilice una base de datos para los datos del cliente y otra diferente para la información de pagos. Con la ayuda de la creación de particiones verticales, ahora puede ejecutar una consulta entre las dos bases de datos.
Creación de partición horizontal También se denomina particionamiento. Se crean particiones horizontales de los datos para distribuir filas entre varias bases de datos de escalabilidad horizontal. En esta topología, el esquema sigue siendo el mismo entre todas las bases de datos de particionamiento. Admite un modelo de inquilino único o modelos de varios inquilinos.

Trabajos elásticos

La característica de trabajo elástico es el reemplazo del Agente SQL Server para Azure SQL Database. Hasta cierto punto, el trabajo elástico es equivalente a la característica Administración multiservidor disponible en una instancia de SQL Server local.

Puede ejecutar comandos de T-SQL en varias implementaciones de destino, como bases de datos de SQL, grupos elásticos de SQL Database y bases de datos SQL en mapas de particiones. Los recursos de base de datos se pueden ejecutar en otras suscripciones o regiones de Azure. La ejecución se realiza en paralelo, lo que resulta útil al automatizar las tareas de mantenimiento de la base de datos.

Nota:

Azure SQL Managed Instance no admite trabajos elásticos.

SQL Database en Fabric

SQL Database en Microsoft Fabric es una solución eficaz y versátil diseñada para integrarse sin problemas con el ecosistema de Microsoft más amplio. Permite a los usuarios usar las funcionalidades de las bases de datos SQL en el entorno de Microsoft Fabric, lo que proporciona una plataforma unificada para administrar y analizar datos. Esta integración permite a las organizaciones simplificar sus flujos de trabajo de datos, mejorar la colaboración e impulsar procesos de toma de decisiones más informados.

Además, SQL Database en Microsoft Fabric admite una amplia gama de casos de uso, desde cargas de trabajo operativas y transaccionales hasta análisis avanzados. Esta flexibilidad hace que sea una opción ideal para las organizaciones que buscan consolidar su infraestructura de datos y usar todo el potencial de sus recursos de datos. Con características como la integración sin problemas con otros servicios de Microsoft, la seguridad mejorada y la escalabilidad, SQL Database en Microsoft Fabric permite a los usuarios compilar e implementar aplicaciones controladas por datos con facilidad.

La carga de trabajo Bases de datos en Fabric está diseñada para abordar muchos aspectos de las bases de datos SQL operativas, lo que permite a los ingenieros de datos, analistas y científicos de datos trabajar juntos para crear y consultar datos optimizados para sus necesidades específicas.