¿Qué es SQL Server en Linux?

Completado

Las organizaciones que ejecutan Linux pueden considerar la posibilidad de usar SQL Server para hospedar bases de datos. Del mismo modo, las organizaciones que ejecutan SQL Server pueden considerar la posibilidad de mover sus servidores al sistema operativo Linux. Pero, ¿por qué deberían realizar este cambio?

Como administrador del sistema de Wide World Importers, es responsable de los servidores Linux en los que se hospedan todos los servidores web de front-end y la granja de servidores de bases de datos de Windows de back-end. En su lugar, quiere usar la experiencia de Linux para implementar SQL Server en Linux, por lo que explorará las principales ventajas de usar SQL Server en Linux. El objetivo es diseñar una presentación para entregarla al director de tecnología. Explicará las ventajas de SQL Server en Linux y las implicaciones de instalarlo en Linux.

Aquí, obtendrá información sobre por qué debería considerar la posibilidad de ejecutar SQL Server en Linux.

¿Por qué usar SQL Server en Linux?

Linux es una colección de sistemas operativos, o distribuciones, que se ejecutan en el kernel de Linux. Es un sistema operativo popular, tanto para implementaciones locales como para las basadas en la nube. SQL Server es un conocido sistema de administración de bases de datos relacionales (RDBMS) que tradicionalmente solo se ha ejecutado en el sistema operativo Windows. A partir de SQL Server 2017 y versiones posteriores, Microsoft ha admitido instalaciones de SQL Server en sistemas operativos Linux.

Si quiere ejecutar SQL Server, recuerde que no está limitado a la plataforma Windows. Como Linux es de código abierto, se puede instalar en hardware de bajo costo, lo que reduce los gastos de licencia del sistema operativo. Linux también tiene una superficie de memoria más pequeña y menos requisitos de hardware, lo que acelera la puesta en marcha de máquinas virtuales basadas en Linux sobre servidores basados en Windows.

SQL Server en Linux admite Ubuntu, Red Hat Enterprise Linux y SUSE.

¿Por qué SQL Server?

Si elige SQL Server en Linux como plataforma de datos para Wide World Importers, puede implementar en Linux todas las bases de datos de SQL Server existentes, que actualmente se ejecutan en la plataforma Windows. También podrá ejecutar las aplicaciones existentes con la versión para Linux de SQL Server y la organización puede volver a usar sus conocimientos de desarrollo de aplicaciones y DBA existentes.

Las tareas de copia de seguridad y restauración en el nuevo entorno de Linux serán sencillas. Un enfoque de menor riesgo consiste en trasladar a Linux una base de datos que no sea crítica para la empresa y comparar sus características y rendimiento directamente con Windows. Si es correcto, podría crear una estrategia de migración detallada para migrar el estado de los datos en su totalidad. Compare este trabajo con el enfoque necesario para pasar a otra tecnología de base de datos y a otro sistema operativo.

SQL Server en Linux también tiene todas las ventajas del rendimiento líder del sector. Ocupa la primera posición en el banco de pruebas TPC-E de rendimiento, y es el primero en rendimiento en las pruebas comparativas TPC-H de 1 TB, 10 TB y 30 TB. El National Institute of Standards and Technology (NIST) ha calificado a SQL Server en Linux como la base de datos más segura.

Otro motivo para considerar el uso de SQL Server es la característica PolyBase. Con PolyBase, puede configurar orígenes de datos externos que proporcionan datos a tablas externas. Al enviar consultas, puede devolver datos desde estas tablas externas de la misma manera que si se almacenaran en tablas convencionales dentro de la base de datos de SQL Server. Los orígenes de datos externos pueden incluir Hadoop, cuentas de Azure Blob Storage, Oracle, PostgreSQL, MongoDB y muchos otros. Una vez que haya configurado las tablas externas, también puede usarlas para exportar o importar datos desde o hacia SQL Server sin tener que usar un paquete exportación, transformación y carga (ETL) o una herramienta de importación o exportación independiente. También puede usar PolyBase para integrar orígenes externos de datos con las herramientas de inteligencia empresarial de SQL Server.

Wide World Importers tiene bases de datos en Oracle y SAP HANA, además de en SQL Server. Barajaba la posibilidad de usar las herramientas de ETL para rellenar un almacenamiento de datos con datos de todos estos orígenes, y así poder escribir informes en él. Si implementa SQL Server con PolyBase, podría considerar la posibilidad de agregar Oracle y SAP HANA como orígenes de datos externos en SQL Server para integrar los tres sistemas. De este modo, los informes pueden enviar todas sus consultas a SQL Server pero seguir incluyendo los datos que se almacenan en Oracle y SAP HANA. En esta configuración, SQL Server actúa como concentrador de virtualización de datos.

Código base compartido

SQL Server, tanto en Linux como en Windows, usa la capa de abstracción de la plataforma SQL (SQLPAL), que permite que se ejecute en todos los sistemas operativos compatibles. Por tanto, los desarrolladores pueden escribir aplicaciones con su lenguaje favorito (por ejemplo, .NET, PHP, node.JS, Java o Python) y esperar que la aplicación se ejecute de la misma manera en cualquier lugar, tanto si usan SQL Server en Windows, Linux, contenedores de Linux, Azure SQL Edge o Azure SQL Database.

Contenedores

Una desventaja del uso de máquinas virtuales es que cada una necesita todos los recursos del sistema operativo, con independencia de si los servicios en ejecución los requieren o no. Para evitar esta desventaja, un sistema de virtualización en contenedores comparte el sistema operativo host mientras las aplicaciones y los servicios continúan aislados. Un servicio que se ejecuta en un contenedor se aísla de un servicio de otro. Para los servicios, aparece como si se ejecutaran en VM independientes, pero en su lugar comparten la memoria y los procesadores de un solo sistema operativo.

Puede ejecutar SQL Server en contenedores de Linux. Si tiene que administrar un gran número de estos contenedores, puede usar una herramienta de orquestación como Kubernetes o Docker Swarm. Puede hacer esto para obtener alta disponibilidad, o bien para permitir que los equipos de DevOps implementen la integración continua o la entrega continua mediante la implementación de código nuevo en contenedores.

Comprobación de conocimientos

1.

Dispone de datos del catálogo de productos en SAP HANA y datos de ventas en SQL Server en Linux. Quiere escribir un informe que use datos de los dos sistemas para analizar los márgenes de beneficios de todos los productos, pero minimizar la cantidad de trabajo necesario para los administradores de base de datos. ¿Qué tiene que hacer?

2.

Tiene una aplicación móvil escrita en Python que el equipo de ventas usa para registrar los pedidos y ver los datos de rendimiento de las ventas. Recientemente, migró la base de datos de un servidor de Windows a un servidor de Ubuntu Linux. ¿Qué cambios requiere esta operación en el código de la aplicación?