Novedades de SQL Server 2016

Publicado en

SQL Server 2016 ya está disponible de forma general, y recientemente participé en un taller a fondo sobre las nuevas características que incorpora esta nueva versión y puedo decir que quedé gratamente sorprendido. A continuación comparto un resumen de las capacidades que más me han llamado la atención.

Desempeño

SQL Server 2016 tiene un gran enfoque en mejorar el desempeño, y mucho de esto se logra gracias a mejoras en el soporte de cómputo en memoria. SQL Server 2014 ya soportaba tablas en-memoria, pero la implementación tenía muchas limitaciones (por ejemplo, no soportaba llaves foráneas y solo se podían tener tablas de máximo 256 GB). Esto ha mejorado drásticamente en SQL Server 2016; ya se soportan llaves foráneas, constraints únicos, operaciones paralelas, y ahora es posible tener tablas en memoria de hasta 2 TB. La figura 1 ilustra las mejoras en desempeño.

 

 

Seguridad

Una de las limitantes en términos de seguridad de versiones anteriores de SQL Server era que no soportaba seguridad a nivel de renglones (row-level security) para restringir que ciertos usuarios sólo tuvieran acceso a un determinado rango de datos. Esto es clave en escenarios multi-tenant. SQL Server 2016 ya soporta esto.

Otra capacidad interesante es el cifrado transparente ("transparent queryable encryption"). Los datos se guardan cifrados en la base de datos, y se mantienen cifrados a través del canal de comunicación, y solo son descifrados hasta que llegan a la aplicación final (el driver se encarga de hacer el cifrado y descifrado). Esto tiene dos ventajas: Si los datos son extraídos del servidor o captados en la red por un atacante, los datos estarán cifrados; la segunda ventaja es que al hacerse el cifrado y descifrado en el mismo punto, se pueden utilizar algoritmos de llave simétrica, que son mucho más rápidos. Este cifrado se puede configurar a nivel de columnas individuales.

Compatibilidad con herramientas de Big Data

SQL Server 2016 tiene muy buenas capacidades de interoperación con herramientas de analytics y big data. Entre ellas:

  • Soporte a R - SQL Server 2016 incluye soporte para R, permitiendo que los científicos de datos puedan realizar experimentos de datos directamente sobre las bases de datos, sin necesidad de exportar hacia archivos de texto. De la misma manera, los desarrolladores pueden programar stored procedures que incluyan código R para hacer analítica compleja de forma estandarizada y parametrizada, lo cual fomenta su reutilización.

  • Polybase - Un conector para integración con Hadoop. Permite interactuar con datos en Hadoop desde SQL Server de forma sencilla, sin necesidad de entrar en detalles de HDFS o MapReduce ni usar un ETL. Polybase no es una tecnología nueva, ya se ofrecía como parte del Microsoft Analytics Platform System, y ahora se incluye en SQL Server 2016.

  • Soporte a JSON - SQL Server 2016 permite que los resultados de un query se exporten como JSON, y también permite tomar un JSON e importarlo como SQL hacia una tabla.

Extender datos a la nube

SQL Server 2016 está diseñada para aprovechar las ventajas de la nube. Un reflejo de esto es la capacidad "stretch". Esto permite que podamos elegir qué partes de nuestra base de datos pueden almacenarse en la nube, en lugar de nuestro data center local. Todo esto se hace de forma transparente para el usuario y el desarrollador. El administrador de base de datos simplemente define las políticas bajo las cuales los datos se pueden poner en la nube (ej. datos más viejos o con menor riesgo) y SQL Server gestiona esto de manera transparente. Al realizar un query, SQL Server se encarga de traer los datos donde quiera que estén, ya sea en la base de datos local o en la nube, y entregarlos como un solo conjunto de resultados. Esto se puede combinar con la capacidad de cifrado de punta a punta, de manera que los datos que se extienden hacia la nube siempre están cifrados.

Futuro y conclusiones

Para algunas empresas, el principal problema de SQL Server no es el producto como tal sino el hecho de que solo funcione sobre Windows. La buena noticia es que hace un par de meses Microsoft anunció que se está trabajando para crear una versión de SQL Server para Linux. Ese producto todavía no está listo y se espera que sea lanzado hasta mediados del 2017. Aun así, vemos esto como una señal positiva de hacia dónde van las cosas.

En general, podemos decir que SQL Server tiene un conjunto muy atractivo de nuevas capacidades, y tiene un rumbo prometedor. 

Bio

Pedro Galván es cofundador y director editorial de Software Guru.