Fotolia
Las características nuevas más útiles en Microsoft SQL Server 2019
SQL Server 2019 incluye nuevas características bienvenidas, en particular actualizaciones de sus capacidades de indexación y alta disponibilidad, y funcionalidad agregada de SQL Server en Linux.
Como todas las versiones anteriores, Microsoft SQL Server 2019 está repleto de nuevas características y capacidades, y no solo el soporte para clusters de big data que la compañía destacó cuando lanzó la primera vista previa pública de la actualización de la base de datos en septiembre.
Más allá de la capacidad de combinar SQL Server con Spark y otras tecnologías de big data, veamos algunas de las características agregadas que creo que serán las más útiles para los usuarios del sistema de administración de bases de datos (DBMS).
Mejoras de indexación
Las nuevas capacidades que más me entusiasman están relacionadas con la indexación. Como administradores de bases de datos, es probable que todos nos encontremos ocasionalmente en una situación en la que una operación de indexación sale terriblemente mal. Afortunadamente, SQL Server 2019 finalmente nos brinda las herramientas para enfrentar estas situaciones.
Si, por ejemplo, una operación de indexación termina siendo un uso intensivo de recursos hasta el punto de interrumpir las operaciones normales de la base de datos, el proceso de indexación se puede pausar y luego reanudar durante las horas de menor actividad para liberar los recursos del sistema que son tan necesarios.
Otra mejora igualmente atractiva para el motor de indexación es la nueva capacidad de SQL Server 2019 para recuperarse de una falla de indexación. El proceso de indexación puede fallar como resultado de cualquier número de factores, como la falta de espacio en el disco o una falla de la base de datos. En el pasado, tales fallas significaban que el proceso de indexación tenía que iniciarse nuevamente desde la casilla uno. En SQL Server 2019, Microsoft ha hecho posible reanudar el proceso de indexación sin tener que volver a empezar.
Además, SQL Server 2019 reduce la cantidad de espacio de registro que se requiere al crear un índice grande en comparación con las versiones anteriores del DBMS.
Otro cambio positivo que Microsoft ha implementado en SQL Server 2019 es la conversión en línea de las tablas de almacenes de filas convencionales en índices de almacenes de columnas. En versiones anteriores de SQL Server, dichas conversiones solo podían realizarse fuera de línea. En SQL Server 2019, se pueden hacer de manera transparente en segundo plano, mientras la base de datos continúa ejecutándose.
Actualizaciones a los grupos de disponibilidad Always On
Los grupos de disponibilidad de Always On no son nuevos en SQL Server 2019, pero Microsoft ha realizado algunas mejoras en la característica de alta disponibilidad y recuperación de desastres. Para empezar, SQL Server 2019 permite que un grupo de disponibilidad Always On contenga hasta cinco réplicas síncronas con fines de conmutación por error, con una réplica principal y hasta cuatro secundarias. Eso es hasta un máximo de tres réplicas en SQL Server 2017.
Microsoft también ha introducido la capacidad de redirigir las conexiones para aplicaciones cliente desde una réplica secundaria a la principal. Esto significa que un cliente puede ser redirigido a la réplica principal sin el uso de un escucha de grupo de disponibilidad, que es un nombre de red virtual que se usa para conectar clientes a bases de datos en réplicas.
Un oyente redirige automáticamente el tráfico del usuario a la réplica principal cuando se produce una conmutación por error; la función de redireccionamiento de la conexión secundaria de réplica ‘de secundaria a primaria’ en SQL Server 2019 se puede usar para hacer eso en situaciones en las que los oyentes no son compatibles, sin importar qué servidor de destino se especifique en la cadena de conexión.
Funciones añadidas para SQL Server en Linux
Muchas de las nuevas funciones y capacidades que se encuentran en Microsoft SQL Server 2019 están dirigidas a usuarios que desean ejecutar SQL Server en Linux. Hacerlo por primera vez fue posible en SQL Server 2017, pero la versión de Linux de esa versión no incluía el conjunto completo de características. Tampoco la de SQL Server 2019, pero Microsoft ha agregado algunas de las piezas faltantes.
Para empezar, SQL Server para Linux ahora admite la replicación de datos. Una instancia de base de datos en una máquina virtual Linux que ejecute SQL Server 2019 puede actuar como un editor, distribuidor o suscriptor de replicación, siempre y cuando el programador de tareas del SQL Server Agent esté instalado.
Otra adición importante a la versión de Linux del DBMS es la capacidad de configurar los grupos de disponibilidad Always On en los contenedores de Docker orquestados con Kubernetes. Microsoft también está poniendo a disposición de Red Hat Enterprise Linux imágenes de contenedor certificadas, y está colocando todas sus imágenes de contenedor de Linux y Windows tanto para SQL Server 2017 como para SQL Server 2019 en el Registro de Contenedores de Microsoft, un catálogo de contenedores que creó en mayo.
Además, Microsoft está haciendo que su software Machine Learning Services (In-Database) esté disponible en entornos Linux, permitiendo a los usuarios de SQL Server en Linux ejecutar aplicaciones de aprendizaje automático escritas en R y Python. El soporte agregado para el paquete de aprendizaje automático incluye el uso del procedimiento almacenado sp_execute_external_script, un comando Transact-SQL para ejecutar scripts en una base de datos.
Una de las mejoras más grandes, aunque menos comentadas, de SQL Server en Linux es el soporte de SQL Server 2019 para OpenLDAP. Para aquellos que no estén familiarizados con OpenLDAP, es una versión de código abierto del Protocolo ligero de acceso a directorios. Aunque OpenLDAP puede funcionar independientemente del Active Directory de Microsoft, el nuevo soporte para OpenLDAP abre indirectamente la puerta para permitir que las bases de datos de SQL Server basadas en Linux accedan a Active Directory.
SQL Server 2019 habilita la iluminación de archivos
La versión para Linux de SQL Server 2019 también agrega soporte para configurar archivos que se almacenan en dispositivos de memoria persistentes para operar en modo "iluminado" para mejorar el rendimiento. Esto puede incluir la base de datos, el registro de transacciones y los archivos de puntos de control OLTP en memoria. Cuando estos tipos de archivos se colocan en la memoria persistente, lo que también se conoce como memoria de clase de almacenamiento, se les puede acceder directamente a través de las operaciones memcpy, que se pueden realizar sin utilizar la pila de almacenamiento del sistema operativo.
Esto permite que las operaciones de E/S de archivos se realicen de manera mucho más eficiente, sin incurrir en la latencia de almacenamiento habitual. El soporte para dispositivos de memoria persistente se agregó en SQL Server 2016 para Windows, pero la capacidad de iluminación de archivos solo está disponible en la versión de Linux de la versión preliminar de SQL Server 2019.
Los elementos analizados en este artículo son solo una pequeña muestra de lo que Microsoft SQL Server 2019 tiene para ofrecer. Es posible que encuentre otros que serán útiles en su entorno de SQL Server en la lista completa de nuevas características o si prueba la vista previa.