Unidad 1: Introducción
Azure admite varios servicios de base de datos, lo que permite ejecutar en la nube diversos sistemas de administración de bases de datos relacionales conocidos, por ejemplo, SQL Server, PostgreSQL y MySQL.
La mayoría de los servicios de base de datos de Azure están totalmente administrados, con lo cual dispondrá de un tiempo muy valioso que, de otro modo, desperdiciaría administrando la base de datos. El rendimiento de nivel empresarial con alta disponibilidad integrada significa que es posible realizar un escalado rápidamente y conseguir una distribución global sin preocuparse de los costosos tiempos de inactividad. Los desarrolladores pueden sacar partido de innovaciones punteras en el sector, como la seguridad integrada con supervisión automática y detección de amenazas, y el ajuste automático para mejorar el rendimiento. Además, aparte de todas estas características, la disponibilidad está garantizada.
En este módulo, explorará las opciones disponibles para los servicios de bases de datos relacionales en Azure
Unidad 2: Descripción de los servicios y las capacidades de Azure SQL
Azure SQL es un término colectivo para referirse a una familia de servicios de base de datos basados en Microsoft SQL Server en Azure. Los servicios específicos de Azure SQL incluyen los siguientes:
- SQL Server en máquina virtual de Azure (VM): una máquina virtual que se ejecuta en Azure con una instalación de SQL Server. El uso de una máquina virtual convierte esta opción en una solución de infraestructura como servicio (IaaS) que permite virtualizar la infraestructura de hardware para proceso, almacenamiento y redes en Azure. Por este motivo, se trata de una opción excelente para la migración lift-and-shift de instalaciones locales de SQL Server a la nube.
- Azure SQL Managed Instance: una opción de plataforma como servicio (PaaS) que proporciona una compatibilidad casi completa con instancias de SQL Server locales y permite abstraer el hardware y el sistema operativo subyacentes. Este servicio incluye administración automatizada de actualizaciones de software, copias de seguridad y otras tareas de mantenimiento, lo que reduce la carga administrativa que supone admitir una instancia de servidor de bases de datos.
- Azure SQL Database: un servicio de base de datos PaaS totalmente administrado y altamente escalable que se ha diseñado para la nube. Este servicio incluye las principales capacidades de base de datos de SQL Server local y es una buena opción cuando hay que crear una aplicación en la nube.
- Azure SQL Edge: un motor SQL optimizado para escenarios de Internet de las cosas (IoT) en los que es necesario trabajar con datos de serie temporal de streaming.
NOTA:
Azure SQL Edge se incluye en esta lista para que sea exhaustiva. En este módulo, nos centraremos en las otras opciones para escenarios de bases de datos relacionales más generales.
Comparación de los servicios de Azure SQL


SQL Server en máquinas virtuales de Azure
SQL Server en Virtual Machines le permite usar versiones completas de SQL Server en la nube sin tener que administrar ningún hardware local. Este es un ejemplo del enfoque de IaaS.
Al ejecutar SQL Server en una máquina virtual de Azure, se replica la base de datos que se ejecuta en un hardware local real. La migración desde el sistema local a una máquina virtual de Azure no es diferente a migrar las bases de datos de un servidor local a otro.
Este enfoque es adecuado para las migraciones y aplicaciones que requieren acceso a características del sistema operativo que podrían no admitirse en el nivel de PaaS. Las máquinas virtuales de SQL están listas para migrar mediante lift-and-shift las aplicaciones existentes que requieren una migración rápida a la nube con unos cambios mínimos. También puede usar SQL Server en máquinas virtuales de Azure para ampliar las aplicaciones locales existentes a la nube en implementaciones híbridas.
Nota: Una implementación híbrida es un sistema en el que una parte de la operación se ejecuta de forma local, y otra parte, en la nube. La base de datos podría formar parte de un sistema más grande que se ejecuta de forma local, aunque los elementos de la base de datos podrían estar hospedados en la nube.
Puede usar SQL Server en una máquina virtual para desarrollar y probar aplicaciones de SQL Server tradicionales. Con una máquina virtual, tiene todos los derechos administrativos sobre el sistema operativo y el DBMS. Es una opción perfecta cuando una organización ya tiene recursos de TI disponibles para mantener las máquinas virtuales.
Estas funcionalidades le permiten:
- Cree escenarios de desarrollo y prueba rápidos cuando no quiera comprar hardware de SQL Server local y que no sea de producción.
- Tener todo preparado para migrar mediante lift-and-shift las aplicaciones existentes que requieren una migración rápida a la nube con cambios mínimos o sin cambios.
- Escalar verticalmente la plataforma en la que se ejecuta SQL Server asignando más memoria, potencia de CPU y espacio en disco a la máquina virtual. Puede cambiar rápidamente el tamaño de una máquina virtual de Azure sin tener que reinstalar el software que se ejecuta en ella.
Ventajas empresariales
La ejecución de SQL Server en máquinas virtuales le permite satisfacer necesidades empresariales exclusivas y diversas a través de una combinación de implementaciones locales y hospedadas en la nube, a la vez que usa el mismo conjunto de productos de servidor, herramientas de desarrollo y conocimientos en estos entornos.
No siempre es fácil para las empresas cambiar su DBMS a un servicio totalmente administrado. Puede ser necesario cumplir requisitos específicos para poder migrar a un servicio administrado que requiere realizar cambios en la base de datos y en las aplicaciones que lo usan. Por esta razón, el uso de máquinas virtuales puede ofrecer una solución, pero no elimina la necesidad de administrar el DBMS tan cuidadosamente como lo haría en el entorno local.
Instancia administrada de Azure SQL Database
Azure SQL Managed Instance permite ejecutar eficazmente una instancia totalmente controlable de SQL Server en la nube. Además, puede instalar varias bases de datos en la misma instancia y tiene un control total sobre esta instancia, como el que tendría sobre un servidor local. Con SQL Managed Instance se automatizan las copias de seguridad, la aplicación de revisiones de software, la supervisión de bases de datos y otras tareas generales, pero sigue teniendo control total sobre la seguridad y la asignación de recursos para las bases de datos. Puede encontrar información detallada en el artículo ¿Qué es Azure SQL Managed Instance?.
Enlace ¿Qué es Instancia administrada de Azure SQL?
¿Qué es Instancia administrada de Azure SQL?
Azure SQL Managed Instance es un servicio de base de datos en la nube inteligente y escalable que combina la mayor compatibilidad con el motor de base de datos de SQL Server y todas las ventajas de una plataforma como servicio totalmente administrada y permanente. SQL Managed Instance tiene casi un 100 % de compatibilidad con el motor de base de datos más reciente de SQL Server (Enterprise Edition), lo que proporciona una implementación nativa de la red virtual (VNet) que permite solucionar problemas de seguridad habituales, y un modelo de negocio favorable para los clientes existentes de SQL Server. Instancia administrada de SQL permite a los clientes existentes de SQL Server migrar mediante lift-and-shift sus aplicaciones locales a la nube con cambios mínimos en la aplicación y la base de datos. Al mismo tiempo, SQL Managed Instance conserva todas las funcionalidades de PaaS (aplicación de revisiones y actualizaciones de versión automáticas, copias de seguridad automáticas, alta disponibilidad), que reducen enormemente la sobrecarga de administración y el costo total de propiedad.
Video
Cuando se necesita poder administrar características avanzadas como Service Broker, SQL Server Agent, CLR, servicios de aprendizaje automático,entre otros se requiere una Instancia Administrada.
Esto se llama el proyecto Cloudlifter porque podrá administrar una completa Instancia de SQL
- Permite la migración en linea de entornos locales a la nube
- Le da las instancias con ventajas como replicas, respaldos, actualizaciones, distribución geográfica y elasticidad que de la nube
continuamos
- Importante:Para una lista de regiones en las que SQL Managed Instance está actualmente disponible, consulte las regiones admitidas.
- En el diagrama siguiente se describen las características principales de SQL Managed Instance:

Azure SQL Managed Instance está diseñada para aquellos clientes que quieran migrar un gran número de aplicaciones desde un entorno local o de IaaS, compilado automáticamente o que hayan proporcionado los fabricantes de software independientes, a un entorno en la nube de PaaS totalmente administrado, con el menor esfuerzo de migración posible. Mediante el uso del Azure Data Migration Service, los clientes pueden migrar mediante lift-and-shift su instancia de SQL Server existente a SQL Managed Instance, que ofrece compatibilidad con SQL Server y aislamiento completo de las instancias de cliente con compatibilidad nativa con redes virtuales.
Con Software Assurance, puede intercambiar sus licencias existentes para obtener descuentos en SQL Managed Instance mediante SQL Managed Instance es el mejor destino de migración en la nube para instancias de SQL Server que requieren alta seguridad y una completa superficie de programación.
Funcionalidades y características clave
- SQL Managed Instance combina las mejores características que están disponibles tanto en Azure SQL Database como en el motor de base de datos de SQL Server.
- Instancia administrada de SQL se ejecuta con todas las características de la última versión de SQL Server, incluidas las operaciones en línea, las correcciones automáticas del plan y otras mejoras de rendimiento empresarial.
Ventajas de PaaS | Continuidad del negocio |
---|---|
No hay compras de hardware ni administración Ninguna sobrecarga de administración a la hora de administrar la infraestructura subyacente Aprovisionamiento y escalado de servicio rápidos Aplicación de revisiones y actualización de versiones automatizadas Integración con otros servicios de datos de PaaS | Acuerdo de Nivel de Servicio de tiempo de actividad del 99,99 % Alta disponibilidad integrada Datos protegidos con copias de seguridad automatizadas Período de retención de copia de seguridad configurable por el cliente Copias de seguridad que haya iniciado el usuario Funcionalidad de restauración de base de datos a un momento dado |
Seguridad y cumplimiento normativo | Administración |
Entorno aislado (integración con red virtual, servicio de inquilino único y procesos y almacenamiento dedicados) Cifrado de datos transparente (TDE) Autenticación de Azure Active Directory (Azure AD), compatibilidad con el inicio de sesión único Entidades de seguridad (inicios de sesión) de un servidor de Azure AD ¿Qué es autenticación de Windows para entidades de seguridad de Azure AD (versión preliminar)? Se adhiere a las mismas normas de cumplimiento estándar que Azure SQL Database Auditoría de SQL Advanced Threat Protection | API de Azure Resource Manager para automatizar el aprovisionamiento y escalado del servicio Funcionalidad de Azure Portal para el aprovisionamiento y escalado manuales del servicio Data Migration Service |
Las características principales de Instancia administrada de SQL se muestran en la tabla siguiente:
Característica | Descripción |
---|---|
Versión/compilación de SQL Server | Motor de base de datos de SQL Server (versión estable más reciente) |
Administración de copias de seguridad automatizadas | Sí |
Supervisión y métricas integradas de instancias y bases de datos | Sí |
Aplicación automática de revisiones de software | Sí |
Características del motor de base de datos más recientes | Sí |
Número de archivos de datos (ROWS) por base de datos | Múltiple |
Número de archivos de registro (LOG) por base de datos | 1 |
Redes virtuales: implementación de Azure Resource Manager | Sí |
Redes virtuales: modelo de implementación clásica de Azure | No |
Soporte técnico del portal | Sí |
Integration Service (SSIS) integrado | No: SSIS es una parte de PaaS de Azure Data Factory |
Analysis Service (SSAS) integrado | No: SSAS es un servicio PaaS independiente. |
Reporting Service (SSRS) integrado | No: use informes paginados de Power BI en su lugar u hospede SSRS en una máquina virtual de Azure. Si bien SQL Managed Instance no puede ejecutar SSRS como servicio, sí puede hospedar las bases de datos del catálogo de SSRS para un servidor de informes instalado en una máquina virtual de Azure, mediante la autenticación de SQL Server. |
Modelo de compra basado en núcleo virtual
El modelo de compra basado en núcleo virtual de Instancia administrada de SQL le ofrece flexibilidad, control, transparencia y facilidad para trasladar sus necesidades de carga de trabajo del entorno local a la nube. Este modelo le permite cambiar los recursos de proceso, memoria y almacenamiento en función de las necesidades de la carga de trabajo. El modelo de núcleos virtuales también permite disfrutar de hasta un 55 % de ahorro con la Ventaja híbrida de Azure para SQL Server.
En el modelo de núcleo virtual, puede elegir las configuraciones de hardware como se indica a continuación:
- Las CPU lógicas de la serie estándar (Gen5) se basan en los procesadores Intel® E5-2673 v4 (Broadwell) de 2,3 GHz y en los procesadores Intel® SP-8160 (Skylake) e Intel® 8272CL (Cascade Lake) de 2,5 GHz, 5,1 GB de RAM por núcleo virtual de CPU, un SSD NVMe rápido, un núcleo lógico con Hyper-Threading y tamaños de proceso de entre 4 y 80 núcleos.
- Las CPU lógicas de la serie prémium se basan en los procesadores Intel® 8370C (Ice Lake) de 2,8 GHz, con 7 GB de RAM por núcleo virtual de CPU, un SSD NVMe rápido, un núcleo lógico Hyper-Threading y tamaños de proceso de entre 4 y 80 núcleos.
- Las CPU lógicas de la serie prémium optimizada para memoria se basan en los procesadores Intel® 8370C (Ice Lake) de 2,8 GHz, con 13,6 GB de RAM por núcleo virtual de CPU, un SSD NVMe rápido, un núcleo lógico Hyper-Threading y tamaños de proceso de entre 4 y 64 núcleos.
Niveles de servicio
Instancia administrada de SQL está disponible en dos niveles de servicio:
- Uso general: diseñada para aplicaciones con rendimiento y requisitos de latencia de E/S comunes.
- Crítico para la empresa: diseñada para aplicaciones con requisitos de latencia baja de E/S y un impacto mínimo subyacente de operaciones de mantenimiento en la carga de trabajo.
Ambos niveles de servicio garantizan una disponibilidad del 99,99 % y le permiten seleccionar el tamaño de almacenamiento y la capacidad de proceso de forma independiente.
Nivel de servicio Uso general
En la lista siguiente se describen las características principales del nivel de servicio de uso general:
- Diseñado para la mayoría de las aplicaciones empresariales con requisitos típicos de alto rendimiento
- Azure Blob Storage de alto rendimiento (16 TB)
- Alta disponibilidad integrada basada en los servicios confiables Azure Blob Storage y Azure Service Fabric
Nivel de servicio Crítico para la empresa
El nivel de servicio Crítico para la empresa se ha creado para las aplicaciones con elevados requisitos de E/S. Ofrece la máxima resistencia a los errores gracias al uso de varias réplicas aisladas.
La siguiente lista describe las principales características del nivel de servicio Crítico para la empresa:
- Diseñado para aplicaciones empresariales con mayor rendimiento y requisitos de alta disponibilidad
- Incluye almacenamiento SSD local extremadamente rápido [hasta 4 TB en la serie estándar (Gen5), hasta 5,5 TB en la serie prémium y hasta 16 TB en la serie prémium optimizada para memoria]
- Alta disponibilidad integrada basada en los Grupos de disponibilidad Always On y Azure Service Fabric
- Réplica de base de datos de solo lectura adicional integrada que se puede usar para informes y otras cargas de trabajo de solo lectura.
- OLTP en memoria, que se puede usar para la carga de trabajo con requisitos de alto rendimiento.
Conformidad y seguridad avanzada
SQL Managed Instance incluye características de seguridad avanzadas que proporciona la plataforma Azure y el motor de base de datos de SQL Server.
Aislamiento de seguridad
SQL Managed Instance proporciona un aislamiento de seguridad adicional a partir de otros inquilinos en la plataforma Azure. El aislamiento de seguridad incluye:
- Implementación nativa de redes virtuales y conectividad al entorno local mediante Azure ExpressRoute o VPN Gateway.
- En una implementación predeterminada, el punto de conexión de SQL se expone solo mediante una dirección IP privada, lo que permite una conectividad segura desde una nube privada de Azure o desde redes híbridas.
- Inquilino único con infraestructura subyacente dedicada (proceso, almacenamiento).
El diagrama siguiente describe distintas opciones de conectividad para las aplicaciones:

Características de seguridad
- La auditoría de Instancia administrada de SQL realiza un seguimiento de los eventos de bases de datos y los escribe en un archivo de registro de auditoría de su cuenta de Azure Storage. La auditoría puede ayudarle a mantener el cumplimiento de normativas, comprender la actividad de las bases de datos y conocer las discrepancias y anomalías que pueden indicar problemas en el negocio o infracciones de seguridad sospechosas.
- Cifrado de datos en movimiento: SQL Managed Instance protege los datos gracias al cifrado de datos en movimiento mediante la Seguridad de la capa de transporte. Además de la Seguridad de la capa de transporte, SQL Managed Instance ofrece la protección de la información confidencial en tránsito, en reposo y durante el procesamiento de consultas con Always Encrypted. Always Encrypted ofrece seguridad de los datos frente a las infracciones que implican el robo de datos críticos. Por ejemplo, con Always Encrypted, los números de las tarjetas de crédito siempre se almacenan cifrados en la base de datos, incluso durante el procesamiento de las consultas, lo que permite que solo los descifren personal autorizado o las aplicaciones que los necesitan para procesar los datos en el lugar en que se van a usar.
- Advanced Threat Protection complementa la auditoría, ya que proporciona una capa adicional de inteligencia de seguridad integrada en el servicio que detecta intentos inusuales y potencialmente dañinos para obtener acceso a las bases de datos o vulnerarlas. Recibirá alertas de actividades sospechosas, vulnerabilidades potenciales y ataques por inyección de código SQL, así como patrones anómalos de acceso a bases de datos. Las alertas de Advanced Threat Protection se pueden ver en Microsoft Defender para la nube. Proporcionan detalles de cualquier actividad sospechosa y recomiendan las acciones necesarias para investigar y mitigar la amenaza.
- El enmascaramiento dinámico de datos limita la exposición de información confidencial mediante su enmascaramiento a los usuarios sin privilegios. El enmascaramiento dinámico de datos ayuda a impedir el acceso no autorizado a datos confidenciales permitiéndole designar la cantidad de los datos confidenciales que se revelarán con un impacto mínimo en el nivel de aplicación. Se trata de una característica de seguridad basada en directivas que oculta la información confidencial del conjunto de resultados de una consulta de campos designados de una base de datos, sin modificar los datos de esta última.
- La seguridad de nivel de fila (RLS) le permite controlar el acceso a las filas de una tabla de base de datos en función de las características del usuario que ejecuta una consulta (por ejemplo, la pertenencia a un grupo o el contexto de ejecución). RLS simplifica el diseño y la codificación de la seguridad de la aplicación. RLS permite implementar restricciones de acceso a filas de datos. Por ejemplo, garantiza que los empleados únicamente puedan acceder a aquellas filas de datos necesarios para su departamento o restringe el acceso solo a los datos relevantes.
- Cifrado de datos transparente (TDE) cifra los archivos de datos de Instancia administrada de SQL, lo que se conoce como cifrado de datos en reposo. TDE realiza el cifrado y descifrado de E/S en tiempo real de los archivos de datos y de registro. El cifrado usa una clave de cifrado de base de datos (DEK), que se almacena en el registro de arranque de la base de datos de disponibilidad durante la recuperación. Puede proteger todas las bases de datos en una instancia administrada con cifrado de datos transparente. TDE es la probada tecnología de cifrado en reposo de SQL Server que requieren muchos estándares de cumplimiento normativo para proteger contra el robo de soportes de almacenamiento.
Integración de Azure Active Directory
SQL Managed Instance admite los inicios de sesión tradicionales del motor de base de datos de SQL Server, así como los inicios de sesión integrados con Azure AD. Las entidades de seguridad (inicios de sesión) de un servidor de Azure AD (versión preliminar pública) son una versión en la nube de Azure de los inicios de sesión de la base de datos local que está utilizando en su entorno local. Las entidades de seguridad (inicios de sesión) de un servidor de Azure AD le permiten especificar usuarios y grupos del inquilino de Azure AD como entidades de seguridad de la instancia con capacidad para llevar a cabo operaciones dentro del ámbito de la misma, incluidas consultas entre bases de datos dentro de la misma instancia administrada.
Integración de Azure Active Directory y autenticación multifactor
Authentication
La autenticación de Instancia administrada de SQL indica la forma en que los usuarios prueban su identidad al conectarse a la base de datos. SQL Managed Instance admite tres tipos de autenticación:
- Autenticación de SQL:Este método de autenticación utiliza un nombre de usuario y una contraseña.
- Autenticación con Azure Active Directory:Este método de autenticación usa las identidades administradas por Azure Active Directory y es compatible con dominios administrados e integrados. Use la autenticación de Active Directory (seguridad integrada) siempre que sea posible.
- Autenticación de Windows para entidades de seguridad de Azure AD (versión preliminar):La autenticación Kerberos para entidades de seguridad de Azure AD (versión preliminar) habilita la autenticación de Windows para Azure SQL Managed Instance. La autenticación de Windows para instancias administradas permite a los clientes trasladar los servicios existentes a la nube y, al mismo tiempo, mantener una experiencia de usuario fluida, proporcionando la base para la modernización de la infraestructura.
Migración de bases de datos
Instancia administrada de SQL está diseñada para escenarios de usuario con migración masiva de bases de datos desde implementaciones locales o de base de datos de IaaS.
Copia de seguridad y restauración
El enfoque de migración aprovecha las copias de seguridad de SQL en Azure Blob Storage. Las copias de seguridad almacenadas en una instancia de Azure Storage Blob se pueden restaurar directamente en una instancia administrada mediante el comando T-SQL RESTORE.
Database Migration Service
Azure Database Migration Service es un servicio totalmente administrado diseñado para permitir migraciones completas desde varios orígenes de base de datos hasta las plataformas de datos de Azure con un tiempo de inactividad mínimo. Este servicio simplifica las tareas necesarias para mover bases de datos existentes de SQL Server y de terceros a Azure SQL Database, a Azure SQL Managed Instance y a SQL Server en las máquinas virtuales de Azure
Características de SQL admitidas
SQL Managed Instance admite versiones anteriores hasta bases de datos de SQL Server 2008. Se admite la migración directa de servidores de base de datos de SQL Server 2005 y el nivel de compatibilidad con las bases de datos de SQL Server 2005 migradas se actualiza a SQL Server 2008.
Diferencias principales entre SQL Server local y SQL Managed Instance
SQL Managed Instance tiene la ventaja de estar siempre actualizada en la nube, lo cual significa que algunas características de SQL Server pueden ser obsoletas, estar retiradas o presentar alternativas. Hay casos concretos en los que las herramientas necesitan reconocer que una característica determinada funciona de forma ligeramente diferente o que el servicio se ejecuta en un entorno que no se controla totalmente.
Algunas diferencias clave:
- La alta disponibilidad está integrada y preconfigurada con tecnología similar a los Grupos de disponibilidad Always On.
- Solo hay copias de seguridad automatizadas y restauración a un momento dado. Los clientes pueden iniciar copias de seguridad
copy-only
que no interfieren con la cadena de copias de seguridad automáticas. - No se permite especificar rutas de acceso físicas completas, por lo que todos los escenarios correspondientes tienen que ser compatibles de manera diferente: RESTORE DB no es compatible con WITH MOVE, CREATE DB no permite rutas de acceso físicas, BULK INSERT funciona solo con Azure Blobs, etc.
- SQL Managed Instance admite autenticación de Azure AD y Autenticación de Windows para entidades de seguridad de Azure Active Directory (versión preliminar).
- SQL Managed Instance administra automáticamente el grupo de archivos XTP y los archivos de bases de datos que contienen objetos OLTP en memoria.
- SQL Managed Instance es compatible con SQL Server Integration Services (SSIS) y puede hospedar un catálogo de SSIS (SSISDB) que almacena paquetes SSIS, pero se ejecutan en una instancia administrada de Azure-SSIS Integration Runtime (IR) en Azure Data Factory (ADF). Consulte Creación de una instancia de Azure-SSIS IR en Azure Data Factory. Para comparar las características de SSIS, vea una comparación entre SQL Database con Instancia administrada de SQL.
- SQL Managed Instance solo admite la conectividad a través del protocolo TCP. No admite la conectividad a través de canalizaciones con nombre.
Continuamos con Instancia administrada de Azure SQL Database
Las instancias administradas dependen de otros servicios de Azure, como Azure Storage para las copias de seguridad, Azure Event Hubs para la telemetría, Azure Active Directory para la autenticación, Azure Key Vault para el cifrado de datos transparente (TDE), y un par de servicios de la plataforma de Azure que proporcionan características de seguridad y compatibilidad. Las instancias administradas realizan conexiones con estos servicios.
Todas las comunicaciones se cifran y firman mediante certificados. Para comprobar la confiabilidad de las partes en comunicación, las instancias administradas comprueban constantemente estos certificados mediante listas de revocación de certificados. En caso de revocación de los certificados, la instancia administrada cierra la conexión para proteger los datos.
Casos de uso
Considere la posibilidad de usar Azure SQL Managed Instance si quiere migrar mediante lift-and-shift una instancia local de SQL Server y todas sus bases de datos a la nube, todo ello sin tener que lidiar con la sobrecarga de administración que supone ejecutar SQL Server en una máquina virtual.
Azure SQL Managed Instance incluye características que no están disponibles en Azure SQL Database (se describen a continuación). Si su sistema usa características como servidores vinculados, Service Broker (un sistema de procesamiento de mensajes que se puede usar para distribuir el trabajo entre servidores) o Correo electrónico de base de datos (que permite a la base de datos enviar mensajes de correo electrónico a los usuarios), debe usar la opción Instancia administrada. Si quiere comprobar la compatibilidad con un sistema local existente, puede instalar Data Migration Assistant (DMA). Esta herramienta analiza sus bases de datos en SQL Server e informa de los problemas que podrían bloquear la migración a una instancia administrada.
Ventajas empresariales
Permite a un administrador del sistema dedicar menos tiempo a tareas administrativas, ya que el servicio las realiza automáticamente o las simplifica en gran medida. Entre las tareas automatizadas se incluyen: la instalación y revisión del software del sistema operativo y del sistema de administración de bases de datos, el cambio de tamaño y la configuración de instancias dinámicas, la realización de copias de seguridad, la replicación de bases de datos (incluidas las bases de datos del sistema), la configuración de alta disponibilidad, y la configuración de flujos de datos de supervisión del estado y del rendimiento.
Tiene una compatibilidad casi completa con SQL Server Enterprise Edition, que se ejecuta de forma local.
Admite inicios de sesión del motor de base de datos de SQL Server e inicios de sesión integrados en Azure Active Directory (AD). Los inicios de sesión del motor de base de datos de SQL Server incluyen un nombre de usuario y una contraseña. Debe escribir sus credenciales cada vez que se conecta al servidor. Los inicios de sesión de Azure AD usan las credenciales asociadas con el inicio de sesión del equipo actual y no es necesario que las proporcione cada vez que se conecta al servidor.
Azure SQL Database
Azure SQL Database es una oferta de PaaS de Microsoft. Después de crear un servidor de bases de datos administrado en la nube, debe implementar las bases de datos en este otro servidor.
NOTA: Un servidor de SQL Database es una construcción lógica que actúa como punto administrativo central para varias bases de datos individuales o agrupadas, inicios de sesión, reglas de firewall, reglas de auditoría, directivas de detección de amenazas y grupos de conmutación por error.
Azure SQL Database está disponible como una base de datos única o un grupo elástico.
Base de datos única
Esta opción le permite configurar y ejecutar rápidamente una sola base de datos de SQL Server. Puede crear y ejecutar un servidor de bases de datos en la nube y acceder a la base de datos a través de este servidor. Microsoft administra el servidor, por lo que solo tiene que configurar la base de datos, crear las tablas y rellenarlas con sus datos. Puede escalar la base de datos si necesita más espacio de almacenamiento, memoria o potencia de procesamiento. De forma predeterminada, los recursos están preasignados y se le cobra por hora por los recursos solicitados. También puede especificar una configuración sin servidor. En esta configuración, Microsoft crea su propio servidor, que se puede compartir entre las bases de datos que pertenecen a otros suscriptores de Azure. En este caso, Microsoft garantiza la privacidad de su base de datos. Su base de datos se escala automáticamente y los recursos se asignan o desasignan según sea necesario.
Grupo elástico
Esta opción es similar a la opción Base de datos única excepto en que, de forma predeterminada, varias bases de datos pueden compartir los mismos recursos, como la memoria, el espacio de almacenamiento de datos y la capacidad de procesamiento mediante la arquitectura multiinquilino. Se hace referencia a los recursos como un grupo. Al crear un grupo, solo sus bases de datos pueden usarlo. Este modelo es útil si tiene bases de datos con requisitos de recursos que varían con el tiempo, además, puede ayudarle a reducir los costos. Por ejemplo, su base de datos de nóminas puede requerir una gran cantidad de potencia de CPU al final de cada mes a medida que se encarga del procesamiento de nóminas, pero en otras ocasiones la base de datos podría estar mucho menos activa. Es posible que tenga otra base de datos para ejecutar informes. Esta base de datos podría activarse durante varios días a mediados del mes mientras se generan informes de administración, pero podría tener una carga más ligera en otras ocasiones. La opción Grupo elástico le permite usar los recursos disponibles en el grupo y liberarlos una vez que se haya completado el procesamiento.
Casos de uso
Azure SQL Database ofrece la mejor opción por un costo bajo con administración mínima. No es totalmente compatible con las instalaciones de SQL Server locales. A menudo se usa en nuevos proyectos en la nube, donde el diseño de la aplicación puede acomodar los cambios necesarios en las aplicaciones.
Azure SQL Database se suele usar para:
- Aplicaciones modernas en la nube que necesitan usar las características estables más recientes de SQL Server.
- Aplicaciones que requieren alta disponibilidad.
- Sistemas con una carga variable que necesitan escalar y reducir verticalmente el servidor de bases de datos de forma rápida.
Ventajas empresariales
Azure SQL Database actualiza automáticamente el software de SQL Server y le aplica revisiones para asegurarse de que siempre se ejecuta la versión más reciente y más segura del servicio.
Las características de escalabilidad de Azure SQL Database garantizan que pueda aumentar los recursos disponibles para almacenar y procesar los datos sin tener que llevar a cabo una actualización manual costosa.
Este servicio proporciona garantías de alta disponibilidad para garantizar que las bases de datos están disponibles al menos el 99,99 % del tiempo. Azure SQL Database admite la restauración a un momento dado, lo que le permite recuperar una base de datos al estado en que se encontraba en cualquier momento del pasado. Las bases de datos se pueden replicar en distintas regiones para proporcionar más resistencia y una mayor recuperación ante desastres.
Advanced Threat Protection proporciona funcionalidades de seguridad avanzadas, como las evaluaciones de vulnerabilidad, para ayudar a detectar y corregir posibles problemas de seguridad con las bases de datos. También detecta actividades anómalas que indican intentos poco habituales y posiblemente dañinos de acceder a sus bases de datos o aprovecharse de ellas. Supervisa constantemente una base de datos para detectar actividades sospechosas y proporciona de forma inmediata alertas de seguridad de posibles puntos vulnerables, ataques por inyección de código SQL y patrones anómalos de acceso a las bases de datos. Las alertas de detección de amenazas proporcionan detalles de la actividad sospechosa y recomiendan acciones para investigar y mitigar la amenaza.
La auditoría hace un seguimiento de los eventos de una base de datos y los escribe en un registro de auditoría de su cuenta de almacenamiento de Azure. La auditoría puede ayudarle a mantener el cumplimiento de normativas, comprender la actividad de las bases de datos y conocer las discrepancias y anomalías que pueden indicar problemas en el negocio o infracciones de seguridad sospechosas.
SQL Database facilita la protección de los datos con un cifrado que protege los datos almacenados en la base de datos (en reposo) y mientras se transfieren a través de la red (en movimiento).
MCT: Video 2.2.1 Descripción y comparación de los servicios PaaS, IaaS, SaaS
Tipos de servicios en la nube
IaaS:
- Azure permite crear una infraestructura virtual en la nube que imita como si se trabajará en un entorno local
- Se puede crear mv y redes virtuales y agregar diversos dispositivos virtuales
- Y el usuario será el encargado de su administración y seguridad del sistema operativo, así como la instalación y configuración del administrador de bases de datos

Paas
- Si desea que Azure se encargue de instalar y administrar el SO y el DBMS debe utilizar este servicio, Azure crea de forma automática las MV, redes y otros componentes necesarios y se encargada del escalado.
- Aquí debe seleccionar los recursos que se necesitan como la capacidad, número de usuarios, rendimiento, disponibilidad, etc

SaaS
- Son aplicaciones hospedadas en vez de un software más generalizado como un DBMS
- No aplica para bases de datos

Ejemplos

Azure Data Services
- PaaS
- Son una serie de DBMS administrados por Azure en la nube
- Azure se encarga de:
- Configuración
- Administración
- Actualizaciones
- Seguridad
- El usuario se encarga de
- Administrar y asegurar sus datos
- Esta disponible para BD Relacionales:
- SQL Database
- MySQL
- MariaDB
- PostfreSQL
- Y para BD No Relacionales como:
- Cosmos DB

- Usar estos servicios reduce:
- La cantidad de tiempo de administración de DBMS
- La carga de trabajo administrativa
- Y garantiza la disponibilidad en 99.99%
MCT: Video 2.2.2 Descripción de los servicios Azure SQL Database, Azure SQL Managed Instance y SQL Server
Data Base Management System (DBMS)
- Es un conjunto de software específico para la administración de BD’s
- Cuya función es una interfaz entre el usuario, la BD y las aplicaciones
- Controlan los aspectos físicos de una BD, por ejemplo
- Donde y como se almacena
- Quién puede acceder a ella y como se garantiza la disponibilidad

Microsoft SQL Server
- Es un sistema de gestión de BD Relacionales
- Su lenguaje principal es TRANSCT-SQL un lenguaje estándar de ANSI

SQL Server en Azure Virtual Machines
- Muchas empresas desean migra a la nube para aprovechar sus ventajas
- Y migrar las BD en un entorno local de una máquina a otra no es diferente de migrarla a la nube
- SQL Server en MV permite la instalación de la versión completa de SQL Server enla nube, quitando la carga de administración de la MV (IaaS), pero manteniendo la responsabilidad de la administración de la BD

Migración lift-and-shift
- Es la migración de una aplicación o una operación de un entorno a otro sin tener que rediseñarla
- La máquinas virtuales de Azure están lista para una migración lift-and-shift, con cambios mínimos
Implementación híbrida
- Es un sistema en que una parte de la una operación se ejecuta de forma local y otra en la nube
- Una BD puede funcionar de esta forma

Casos de uso
- SQL Server en una MV tiene todos los derechos de administración del SO y DBMS y al empresa cuanta con recursos de TI, para la administración
- Permite crear entornos de pruebas y desarrollo en la nube
- Migrar mediante lift-and-shift aplicaciones existentes o extenderlas
- Es posible escalar la aplicación verticalmente

Azure SQL Database
- PaaS
- Es una BD Relacional como servicio
- Es una construcción lógica que actúa como un punto de administración central para varias BD’s individuales o agrupadas
- inicios de sesión, firewall, reglas de auditoria, directivas de detección de amenazas y grupos de conmutación por error

Bases de datos únicas
- Crea una BD en Azure con sus propios recursos y se administra a través de un servidor que Azure Administra
- Cada BD esta aislada y se puede transportar
- Los recursos están predefinidos y se cobrar por estos x hora
- Pero también se puede configurar para trabajar sin servidor, aquí Azure crea su propio servidor que se puede compartir entre varias bases de datos que pertenecen a otros usuarios de Azure y se garantiza la privacidad de las BD y la BD se escala automáticamente

Grupo elástico
- Aquí varias BD pueden compartir los recursos (grupo de recursos) y puede ser multi-inquilino
- Es útil cuando se tienen BD’s que pueden variar sus recursos en un tiempo
- Es decir una BD puede aprovechar los recursos disponibles en el grupo de recursos y liberarlos cuando no los necesita

Casos de uso
- Cuando se quieren crear aplicaciones modernas en la nube, con una BD Relacional, que este actualizado, procesos sin servidor, almacenamiento, escalado, y características avanzas de inteligencia artificial que optimicen el rendimiento y durabilidad
- Aplicaciones que requieren alta disponibilidad
- O sistemas con carga variable

Ventajas
- Actualización automática
- Alta disponibilidad
- Funcionalidades Advance Thread Protection: seguridad avanzada como evaluaciones de seguridad
- Auditoria de los eventos de BD
- Cifrado de datos para datos en transito (Always Encrypt) y en reposo se utiliza el cifrado transparente

Azure SQL Management Instance
- Es un servicio de BD en la nube inteligente y escalable
- Tiene la mayor compatibilidad con SQL Server y todas las ventajas de PaaS
- Esta diseñada para migrar un gran número de aplicaciones de un entrono local o IaaS a un entorno en la nube PaaS con el menor esfuerzo
- Se utiliza si se quiere migrar mediante lift-and-shift a una instancia local de SQL Sever y todas sus BD a la nube quitando todas las tareas de administración de la BD como sería en una MV

MCT: Video 2.2.4 Aprovisionamiento de Azure portal, ARM templates, Azure PowerShell y Azure CLI
Administración de recursos en Azure
- El aprovisionamiento de recursos en Azure consiste en en configurar un servicio especificando ciertos parámetros y que algunos pueden ser escalables
- Azure dispone de las siguiente herramientas para aprovisionar servicios
- Azure Portal
- Azure Mobile App
- Azure Power Shell
- CLI de Azure
- Plantillas ARM

Azure Portal
- Tiene una serie de páginas que nos permite aprovisionar los servicios
- Antes de la creación esta es validada

Azure Mobile App
- Permite conectar dispositivos móviles a Azure
- Para ver o administrar los recursos

CLI Azure
- Proporciona comandos que se pueden ejecutar de la shell del sistema operativo
- Con estos comandos puede administrar los recursos de Azure
- Ideal para automatizar la creación de servicios, con script’s de programación
- Se puede ejecutar en Windows, Mac OS y LInux
- La curva de aprendizaje es más grande

Azure PowerShell
- Muchos administradores están familiarizados con comandos de PowerShell para crear script y programar tareas administrativas
- Utiliza cmdlets comandos específicos de Azure que permiten administrar recursos de Azure
- Esta disponible para Windows, MAc OS y Linux

Plantillas de Azure Resources Manager
- Una plantilla de ARM describe el o los servicios que se desean crear en un archivo de texto tipo JSON que contiene objetos de Javascript
- Es conveniente utilizarlas cuando no solo se desea crear el servicio sino también la infraestructura de red, sistemas de almacenamiento y otros recursos
- Y cuando el servicios de debe replicar varias veces y de forma coherente
- Tiene la ventaja que Resources Manager comprueba la plantilla antes de implementarla
- También puede importar la plantilla de un conjunto de recursos ya existentes

MCT: Video 2.2.5 Descripción de la configuración de servicios de datos relacionales
Configuración
- Después de aprovisionar un recurso es necesario configurarlo por ejemplo el acceso de red o un puerto del firewall
- La conectividad de los servicios de Azure por defecto es denegar el servicios para todos vamos a ver como configurarla
- Luego también se verá como configurar las redes virtuales que nos permiten conectar recursos es Azure

- Para configurar la conectividad a redes virtuales debe ingresar al servicio a la sección de «Seguridad de la conexión» o también podría aparecer como «Firewall» o «Redes Virtuales»

- La primera configuración es «Denegar acceso a red pública» que si indicamos que «Sí» la BD no tendrá acceso a ninguna red pública y solo se aceptarán conexiones por un punto de red privado y se dehabilitara cualquier regla de firewall

- En «Reglas de Azure» si tenemos más servicios de Azure y estos deben ingresar al servicio que estamos configurando, es aquí donde los configuramos y lo que hacemos es crear una regla de firewall para la o las Ip’s que se les dará el acceso

- Si la regla debe ser para una red virtual se debe configurar aquí

Configuración de la conectividad desde puntos de conexión privados
- Es una interfaz de red que se conecta de manera privada
- Es una IP de la red pública que tiene permitido conectarse a nuestro servicio
Configurar la autenticación
- Con la autenticación de Azure podemos administrar de forma centralizada las identidades de los usuarios de la BD en un único lugar y gestionar los permisos
- Este servicio esta para Azure SQL Database, Azure PostgreSQL, Azure Mysql
Configuración del control de acceso
- Azure permite especificar quien o quienes pueden acceder a nuestros recursos
- Para configurarlo debe ingresar al servicio sección «Control de Acceso (IAM)»

Configuración de Advanced Data Security
- Además de la autenticación y autorización muchos servicios brindan una protección extra de configuración Avanzada de los datos
- Que le brinda protección contra amenazas y una serie de evaluaciones
- Le agrega inteligencia que busca patrones de movimientos inusuales y identifica posibles vulnerabilidades de seguridad y brinda recomendaciones

MCT: Video 2.2.6 Identificación de herramientas para consultas -query
Herramientas
- Existen a Azure diferentes herramientas para realizar las consultas de datos
- Editor de consultas en Azure Portal
- SQLCMD: desde la línea de comandos
- SQL Managent Studio
- Azure Data Studio

Requisitos
- Primero se debe establecer una conexión con la BD para que se requiere
- El nombre de la BD
- Nombre del servidor
- Y credenciales del usuario

Instalación de SQLCMD
- Windows: https://docs.microsoft.com/es-es/sql/tools/sqlcmd-utility?view=sql-server-ver16
- Linux: https://docs.microsoft.com/es-es/sql/linux/sql-server-linux-setup-tools?view=sql-server-ver16#ubuntu



Instalación de SQL Server Management Studio SSMS


Editor de consultas en Portal de Azure

- Primero ingresamos a la BD y buscamos el «Editor de Consultas»

- Nos solicita iniciar sesión en SQL Server

- Podemos así consultar tablas, vistas y procedimientos almacenados
- Así como ejecutar cualquier consulta


Azure Data Studio

- Ingresamos a la plataforma
- Y creamos una nueva conexión o utilizamos una almacenada

- Si es exitosa se muestran las BD

- Para hacer una nueva consulta damos clic en el botón de «New Query»

- Seleccionamos la BD y debemos contar con los permisos necesarios

SQL Server Management Studio

- Se nos solicita iniciar sesión

- Damos New Query

- Seleccionamos la BD y contar con los permisos necesarios

- Ejecutamos

Utilidad SQLCMD

- la utilizamos en Azure Cloud Shell
- La abrimos

- Ejecutamos la siguiente instrucción, donde
- -S: nombre servidor
- -d: nombre BD
- -U: usuario
- -P: contraseña

- Para realizar la se debe escribir reglón por reglón
- Finalizamos la instrucción con «;»
- Y escribimos GO para ejecutarla

- Ver que se creo correctamente

- Para salir de la herramienta EXIT

Unidad 3: Descripción de los servicios de Azure para bases de datos de código abierto
Además de para servicios de Azure SQL, los servicios de datos de Azure están disponibles para otros sistemas conocidos de bases de datos relacionales, como MySQL, MariaDB y PostgreSQL. La razón principal de incluir estos servicios es permitir que las organizaciones que los usan en aplicaciones locales migren a Azure rápidamente, sin necesidad de realizar cambios significativos en sus aplicaciones.
¿Qué son MySQL, MariaDB y PostgreSQL?
MySQL, MariaDB y PostgreSQL son sistemas de administración de bases de datos relacionales que se adaptan a diferentes especializaciones.
MySQL comenzó siendo un sistema de administración de bases de datos de código abierto fácil de usar. Es la base de datos relacional de código abierto líder para aplicaciones de pila de Linux, Apache, MySQL y PHP (LAMP). Está disponible en varias ediciones; Community, Estándar y Enterprise. La edición Community está disponible de forma gratuita y se ha usado históricamente como sistema de administración de bases de datos para aplicaciones web que se ejecutan en Linux. También hay versiones disponibles para Windows. La edición Estándar ofrece mayor rendimiento y usa una tecnología diferente para almacenar los datos. La edición Enterprise proporciona un completo conjunto de herramientas y características, entre las que se incluyen seguridad mejorada, disponibilidad y escalabilidad. Las ediciones Estándar y Enterprise son las más usadas por las organizaciones comerciales, aunque estas versiones del software no son gratuitas.
MariaDB es un sistema de administración de bases de datos más reciente creado por los desarrolladores originales de MySQL. El motor de base de datos se ha reescrito y se ha optimizado para mejorar el rendimiento. MariaDB ofrece compatibilidad con Oracle Database (otro sistema de administración de bases de datos comerciales conocido). Una característica notable de MariaDB es su compatibilidad integrada con los datos temporales. Una tabla puede contener varias versiones de datos, lo que permite que una aplicación consulte los datos tal y como aparecían en algún momento del pasado.
PostgreSQL es una base de datos híbrida de objetos relacionales. Una base de datos de PostgreSQL permite almacenar datos en tablas relacionales, pero también tipos de datos personalizados con sus propias propiedades no relacionales. El sistema de administración de bases de datos es extensible, es decir, se pueden agregar módulos de código a la base de datos, los cuales pueden ejecutarse mediante consultas. Otra característica clave es su capacidad de almacenar y manipular datos geométricos, como líneas, círculos y polígonos.
PostgreSQL dispone de su propio lenguaje de consulta llamado pgsql. Este lenguaje es una variante del lenguaje de consulta relacional estándar, SQL, y cuenta con características que permiten escribir procedimientos almacenados que se ejecutan en la base de datos.
Azure Database for MySQL

Azure Database for MySQL es una implementación de PaaS de MySQL en la nube de Azure que se basa en la edición Community de MySQL.
El servicio Azure Database for MySQL incluye alta disponibilidad sin costos adicionales y escalabilidad según sea necesario. Solo paga por lo que usa. Se proporcionan copias de seguridad automáticas con restauración a un momento dado.
El servidor ofrece seguridad de conexión para aplicar las reglas de firewall y, opcionalmente, requerir conexiones SSL. Muchos parámetros de servidor permiten configurar opciones del servidor, como los modos de bloqueo, el número máximo de conexiones y los tiempos de espera.
Azure Database for MySQL proporciona un sistema de base de datos global que se puede escalar verticalmente a bases de datos grandes sin necesidad de administrar el hardware, los componentes de red, los servidores virtuales, las revisiones de software y otros componentes subyacentes.
Hay algunas operaciones que no están disponibles con Azure Database for MySQL. Estas funciones están relacionadas principalmente con la seguridad y la administración. Azure administra estos aspectos del propio servidor de bases de datos.
Azure Database for MySQL tiene dos opciones de implementación: servidor único y servidor flexible.
Servidor flexible para Azure Database for MySQL
Azure Database for MySQL con servidor flexible es una base de datos totalmente administrada como una oferta de servicio, con rendimiento predecible y escalabilidad dinámica. Servidor flexible proporciona un control y una flexibilidad más pormenorizados sobre las funciones y la configuración de la administración de la base de datos. El servidor flexible es la opción de implementación recomendada para todos los nuevos desarrollos o migraciones.
Servidor único de Azure Database for MySQL
Azure Database for MySQL con servidor único es una base de datos totalmente administrada como una oferta de servicio, con rendimiento predecible y escalabilidad dinámica. Los servidores únicos son más adecuados para las aplicaciones que ya usan un servidor único.
Ventajas de Azure Database for MySQL
Azure Database for MySQL ofrece las siguientes características:
- Características de alta disponibilidad integradas.
- Rendimiento predecible.
- Escalado sencillo que responde rápidamente a la demanda.
- Protección de los datos, tanto en reposo como en movimiento.
- Copias de seguridad automáticas y restauración a un momento dado de los últimos 35 días.
- Seguridad de categoría empresarial y cumplimiento normativo.
El sistema usa el modelo de precios de pago por uso, por lo que solo paga por lo que usa.
Los servidores de Azure Database for MySQL proporcionan funcionalidades de supervisión para agregar alertas y para ver las métricas y los registros.
Azure Database for MariaDB

Azure Database for MariaDB es una implementación del sistema de administración de bases de datos de MariaDB adaptada para ejecutarse en Azure. Se basa en la edición Community de MariaDB.
Azure administra y controla totalmente la base de datos. Una vez aprovisionado el servicio y transferidos los datos, el sistema no requiere prácticamente ninguna administración adicional.
Ventajas de Azure Database for MariaDB
Azure Database for MariaDB proporciona:
- Alta disponibilidad integrada sin coste adicional.
- Rendimiento predecible, con precios de pago por uso inclusivos.
- Escalado según sea necesario en cuestión de segundos.
- Protección segura de los datos confidenciales en reposo y en movimiento.
- Copias de seguridad automáticas y restauración a un momento dado durante un máximo de 35 días.
- Seguridad y cumplimiento de nivel empresarial.
Azure Database for PostgreSQL

Si prefiere PostgreSQL, puede elegir Azure Database for PostgreSQL para ejecutar una implementación de PaaS de PostgreSQL en la nube de Azure. Este servicio proporciona las mismas ventajas de disponibilidad, rendimiento, escalado, seguridad y administración que MySQL.
Algunas características de las bases de datos locales de PostgreSQL no están disponibles en Azure Database for PostgreSQL. Estas características están relacionadas principalmente con las extensiones que los usuarios pueden agregar a una base de datos para realizar tareas especializadas, como escribir procedimientos almacenados en varios lenguajes de programación (distintos de pgsql, el cual está disponible) e interactuar directamente con el sistema operativo. Se admite un conjunto básico de las extensiones que se usan con más frecuencia, y la lista de extensiones disponibles se revisa continuamente.
Azure Database for PostgreSQL tiene tres opciones de implementación: Servidor único, Servidor flexible e Hiperescala.
Azure Database for PostgreSQL con la opción Servidor único
La opción de implementación de servidor único para PostgreSQL proporciona ventajas similares a Azure Database for MySQL. Puede elegir entre tres planes de tarifa: Básico, De uso general y Optimizado para memoria. Cada nivel admite una cantidad de procesadores, una capacidad de memoria y tamaños de almacenamiento diferentes (puede seleccionar uno en función de la carga que espera admitir).
Servidor flexible de Azure Database for PostgreSQL
La opción de implementación de servidor flexible para PostgreSQL es un servicio de base de datos totalmente administrado. Proporciona más personalizaciones de configuración de servidor y control, y tiene mejores controles de optimización de costos.
Hiperescala (Citus) de Azure Database for PostgreSQL
Hiperescala (Citus) es una opción de implementación que escala las consultas entre varios nodos de servidor para admitir grandes cargas de base de datos. Una base de datos se divide en nodos y los datos se dividen en fragmentos según el valor de una clave de partición o de particionamiento. Se recomienda usar esta opción de implementación para las implementaciones de PostgreSQL de bases de datos más grandes en la nube de Azure.
Ventajas de Azure Database for PostgreSQL
Azure Database for PostgreSQL es un servicio de alta disponibilidad. Integra mecanismos de conmutación por error y de detección de errores.
Los usuarios de PostgreSQL estarán familiarizados con la herramienta pgAdmin, que puede usar para administrar y supervisar una base de datos de PostgreSQL. Puede seguir usando esta herramienta para conectarse a Azure Database for PostgreSQL, Aun así, algunas funcionalidades centradas en el servidor, como la realización de copias de seguridad y la restauración del servidor, no están disponibles porque Microsoft se encarga de administrar y mantener el servidor.
Azure Database for PostgreSQL registra información de las consultas que se ejecutan en las bases de datos del servidor y las guarda en una base de datos llamada azure_sys. Puede consultar la vista query_store.qs_view para ver esta información y usarla para supervisar las consultas que ejecutan los usuarios. Esta información puede resultar muy valiosa si necesita ajustar las consultas que realizan las aplicaciones.
MCT: Video 2.2.7 Descripción de Azure Database para PostgreSQL, Azure Database para MariaDB y MySQL
PostgreSQL, MariaDB y MySQL
- Azure permite que organizaciones que utilizan estas herramientas puedan migrar a la nube sin necesidad de grandes cambios en sus aplicaciones

¿Qué son?
- Son sistemas de administración de BD Relacionales RDBMS

MySQL
- Es la BD relacional de código abierto líder para el LAMP
- Tiene 3 ediciones
- Community: versión principal para sistemas Web que corren en Linux y Windows
- Estándar: Ofrece un mayor rendimiento y posee una tecnología diferente para almacenar los datos
- Enterprise: proporciona un conjunto grupo de herramientas y características como seguridad mejorada, disponibilidad y escalabilidad
- Estandar y Enterprise son las más utilizadas por las organizaciones pero no son gratuitas

MariaDB
- Es el sistema de administración de BD más recientemente creado por los desarrolladores de MySQL
- El administrador de BD se ha reescrito y optimizado para mejorar el rendimiento
- Ofrece compatibilidad con Oracle Database
- Una característica es compatibilidad integrada con los datos temporales, es decir una tabla puede contener varias versiones de datos, permitiendo que una aplicación pueda consultar los datos en un periodo anterior

PostgreSQL
- Es una BD híbrida de objetos relacionales
- Permite almacenar datos en tablas relacionales, pero también tipos de datos personalizados con sus propias propiedades no relacionales
- Es un sistema extensible, es decir se pueden agregar módulos a la BD los cuales se pueden ejecutar mediante consultas
- También permite almacenar datos geométricos como líneas, círculos y polígonos
- Posee su propio lenguaje de consulta llamado PG-SQL que es una variante del Lenguaje de Consultas Estructuradas (SQL)

Azure Database for MySQL
- Es una implementación de PaaS en Azure
- Se basa en la versión Community
- Incluye:
- Alta disponibilidad sin costos adicionales
- Escalabilidad según sea necesario (Solo paga por lo que usa)
- Se brindan copias de seguridad automáticas
- Proporciona seguridad de conexión para aplicar reglas de firewall y conexiones SSL
- Permite configurar los modos de bloqueo, número máximo de conexión y tiempos de espera
- Es un sistema de BD global
- Se puede escalar verticalmente sin necesidad de administrar hardware, componentes de red, servidores virtuales, revisiones de software y otros componentes

Ventajas
- Alta disponibilidad
- Rendimiento predecible
- Escalado sencillo
- Protección de datos tanto en reposo como en transito
- Copias de seguridad automáticas
- Restauración de hasta 35 días
- Seguridad de categoría empresarial y cumplimiento normativo
- Pago por uso

Azure Database for MariaDB
- Es la versión de MariaDB adaptada para ejecutarse en Azure, basa en la edición community
- Azure administra y controla la BD
- Una vez aprovisionado el servicio y la transferencia de datos el sistema no requiere ninguna administración
- Ventajas
- Alta disponibilidad sin costo adicional
- Rendimiento predecible de precio por uso
- Escalado sencillo
- Protección de los datos (reposo y movimiento)
- Copias de seguridad automáticas
- Recuperación hasta de 35 días
- Seguridad y cumplimiento a nivel empresarial

Azure Database for PostgreSQL
- Ventajas:
- Alta disponibilidad sin costo adicional
- Rendimiento predecible de precio por uso
- Escalado sencillo
- Protección de los datos (reposo y movimiento)
- Copias de seguridad automáticas
- Recuperación hasta de 35 días
- Seguridad y cumplimiento a nivel empresarial
- Algunas características de postgreSQL local no están disponibles en Azure, principalmente con las extensiones que los usuarios pueden instalar (como por ejemplo programar procedimientos almacenados en diferentes lenguajes de programación e interactuar directamente con el sistema operativo)

Servidor único Azure Database for PostgreSQL
- Es un modelo de implementación que tiene 3 planes de tarifas y cada nivel admite una cantidad de procesadores, memoria y tamaños de almacenamiento diferentes
- Básico
- De uso general
- Optimizado para memoria

Hiperescala (Citus) Azure Database for PoastgreSQL
- Es una opción de implementación que escala una consulta entre varios nodos del servidor para admitir grandes cargas de bases de datos
- Una BD se divide en nodos y los datos se dividen en fragmentos según el valor de una clave de partición o de particionamiento
- Se recomienda usar esta opción para implementaciones de BD grandes

Ventajas
- Alta disponibilidad
- Integra mecanismos de conmutación por error y detección de errores
- Se puede utilizar PG-AMDIN para administrar las BD, aunque ciertas funcionalidades como las copias seguridad, restauración del servidor no están disponibles por Azure las Administra

- Registran las consultas que ejecutan los usuarios y las almacena en una BD llamada azure_sys, puede consultar la vista query_store-qs_view para consultar esta información

- La migración de datos se puede hacer con Database Migration Service que permite sacar un respaldo de una BD local y migrarla a la nube
- También se puede configurar la replicación desde una BD local para que los datos que se administran local también se guarden en la BD de Azure permitiendo que las aplicaciones se puedan conectar al a BD de Azure mientras el sistema local sigue funcionando, es decir no es necesario apagar el sistema local mientras se hace la migración
Unidad 4: Ejercicio: aprovisionamiento de servicios de base de datos relacionales de Azure
Aprovisionamiento de un recurso de Azure SQL Database
En Azure Portal, seleccione + Crear un recurso en la esquina superior izquierda y busque Azure SQL. En la página de Azure SQL que aparece, seleccione Crear.


- Le damos crear

Revise las opciones de Azure SQL disponibles y, luego, en el icono Bases de datos SQL, asegúrese de que está seleccionado Base de datos única y seleccione Crear.

- Escriba los valores siguientes en la página Crear base de datos SQL:
- Suscripción: si usa un espacio aislado, seleccione Concierge Subscription (Suscripción de Concierge). En caso contrario, seleccione su suscripción de Azure.
- Grupo de recursos: si usa una suscripción de espacio aislado, seleccione el grupo de recursos existente (que tendrá un nombre como learn-xxxx…). De lo contrario, cree un grupo de recursos con el nombre que prefiera.
- Nombre de la base de datos: AdventureWorks.
- Servidor: seleccione Crear nuevo y cree un servidor con un nombre único en cualquier ubicación disponible. Use la autenticación de SQL y especifique su nombre como inicio de sesión de administrador del servidor y una contraseña con una complejidad adecuada (anote la contraseña, ya que la necesitará más adelante).
- ¿Quiere usar un grupo elástico de SQL?: No.
- Proceso y almacenamiento: no lo cambie.
- Redundancia de almacenamiento de Backup: seleccione Locally-redundant backup storage (Almacenamiento de copia de seguridad con redundancia local).



En la página Crear base de datos SQL, seleccione Siguiente: Redes y, en la página Redes, en la sección Conectividad de red, seleccione Punto de conexión público. Seleccione Sí para ambas opciones de la sección Reglas de firewall a fin de permitir el acceso al servidor de bases de datos desde los servicios de Azure y la dirección IP del cliente actual.

Seleccione Siguiente: Seguridad y establezca la opción Enable Microsoft Defender for SQL (Habilitar Microsoft Defender para SQL) en Ahora no.

Seleccione Siguiente: Configuración adicional y, en la pestaña Configuración adicional, establezca la opción Usar datos existentes en Ejemplo (esto creará una base de datos de ejemplo que puede explorar más adelante).

Etiquetas

Seleccione Revisar y crear y, luego, Crear para crear la base de datos de Azure SQL.

Espere a que la implementación finalice. Después, vaya al recurso que se ha implementado, que debería tener este aspecto:


En el panel del lado izquierdo de la página, seleccione Editor de consultas (versión preliminar) e inicie sesión con el inicio de sesión de administrador y la contraseña que especificó para el servidor.


Si se muestra un mensaje de error que indica que no se permite la dirección IP del cliente, seleccione el vínculo Allowlist IP… (IP de la lista de permitidos…) al final del mensaje para permitir el acceso e intente iniciar sesión de nuevo (antes agregó la dirección IP de cliente de su propio equipo a las reglas de firewall, pero el editor de consultas podría conectarse desde otra dirección, en función de la configuración de red).
El editor de consultas tiene el aspecto siguiente:

Expanda la carpeta Tablas para ver las tablas de la base de datos.

En el panel Consulta 1, escriba el siguiente código SQL:
SELECT * FROM SalesLT.Product;
Seleccione ▷ Ejecutar encima de la consulta para ejecutarla y ver los resultados, que deberían incluir todas las columnas de todas las filas de la tabla SalesLT.Product, como se muestra aquí:

Reemplace la instrucción SELECT por el código siguiente y, luego, seleccione ▷ Ejecutar para ejecutar la nueva consulta y revisar los resultados (se incluyen solo las columnas ProductID, Name, ListPrice y ProductCategoryID):
SELECT ProductID, Name, ListPrice, ProductCategoryID
FROM SalesLT.Product;

Ahora pruebe la consulta siguiente, que usa JOIN para obtener el nombre de categoría de la tabla SalesLT.ProductCategory:
SELECT p.ProductID, p.Name AS ProductName,
c.Name AS Category, p.ListPrice
FROM SalesLT.Product AS p
JOIN [SalesLT].[ProductCategory] AS c
ON p.ProductCategoryID = c.ProductCategoryID;

Cierre el panel del editor de consultas y descarte las modificaciones.