Microsoft SQL Server
Microsoft SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) que admite una amplia variedad de aplicaciones de procesamiento de transacciones, inteligencia empresarial y análisis en entornos informáticos corporativos. Microsoft SQL Server es una de las tres tecnologías de bases de datos líderes del mercado, junto con Oracle Database y DB2 de IBM.
Al igual que otros programas RDBMS, Microsoft SQL Server se basa en SQL, un lenguaje de programación estandarizado que los administradores de bases de datos (DBA) y otros profesionales de TI utilizan para gestionar las bases de datos y consultar los datos que contienen. SQL Server está vinculado a Transact-SQL (T-SQL), una implementación de SQL de Microsoft que añade un conjunto de extensiones de programación propias al lenguaje estándar.
Dentro de la arquitectura de SQL Server: cómo funciona SQL Server
Al igual que otras tecnologías RDBMS, SQL Server se construye principalmente en torno a una estructura de tablas basada en filas que conecta los elementos de datos relacionados en diferentes tablas entre sí, evitando la necesidad de almacenar datos de forma redundante en varios lugares dentro de una base de datos. El modelo relacional también proporciona integridad referencial y otras restricciones de integridad para mantener la exactitud de los datos. Estas comprobaciones forman parte de una adhesión más amplia a los principios de atomicidad, consistencia, aislamiento y durabilidad, conocidos colectivamente como propiedades ACID, y están diseñadas para garantizar que las transacciones de la base de datos se procesen de forma fiable.
El componente principal de Microsoft SQL Server es el motor de base de datos de SQL Server, que controla el almacenamiento, el procesamiento y la seguridad de los datos. Incluye un motor relacional que procesa los comandos y las consultas y un motor de almacenamiento que gestiona los archivos de la base de datos, las tablas, las páginas, los índices, los búferes de datos y las transacciones. El motor de base de datos también crea y ejecuta procedimientos almacenados, desencadenantes, vistas y otros objetos de la base de datos.
Debajo del motor de base de datos se encuentra el sistema operativo de SQL Server, o SQLOS. SQLOS se encarga de las funciones de nivel inferior, como la gestión de la memoria y la E/S, la programación de trabajos y el bloqueo de datos para evitar actualizaciones conflictivas. Por encima del motor de base de datos se encuentra una capa de interfaz de red que utiliza el protocolo Tabular Data Stream de Microsoft para facilitar las interacciones de solicitud y respuesta con los servidores de base de datos. Y a nivel de usuario, los administradores de bases de datos y desarrolladores de SQL Server escriben sentencias T-SQL para construir y modificar estructuras de bases de datos, manipular datos, implementar protecciones de seguridad y realizar copias de seguridad de las bases de datos, entre otras tareas.
Servicios, herramientas y ediciones de SQL Server
Microsoft también incluye una variedad de herramientas de gestión de datos, inteligencia empresarial (BI) y análisis con SQL Server. Además de la tecnología R Services y ahora Machine Learning Services, que apareció por primera vez en SQL Server 2016, las ofertas de análisis de datos incluyen SQL Server Analysis Services, un motor analítico que procesa los datos para su uso en aplicaciones de BI y visualización de datos, y SQL Server Reporting Services, que admite la creación y entrega de informes de BI.
En cuanto a la gestión de datos, Microsoft SQL Server incluye SQL Server Integration Services, SQL Server Data Quality Services y SQL Server Master Data Services. El SGBD también incluye dos conjuntos de herramientas para administradores de bases de datos y desarrolladores: SQL Server Data Tools, para el desarrollo de bases de datos, y SQL Server Management Studio, para el despliegue, la supervisión y la gestión de bases de datos.
Ediciones de SQL Server:
Microsoft ofrece SQL Server en cuatro ediciones principales que proporcionan diferentes niveles de los servicios incluidos. Dos de ellas están disponibles de forma gratuita: una edición Developer, con todas las funciones para su uso en el desarrollo y las pruebas de bases de datos; y una edición Express, que puede utilizarse para ejecutar pequeñas bases de datos con una capacidad de almacenamiento en disco de hasta 10 GB. Para aplicaciones más grandes, Microsoft vende una edición Enterprise que incluye todas las características de SQL Server, así como una Standard, con un conjunto parcial de características y límites en el número de núcleos de procesador y tamaños de memoria que los usuarios pueden configurar en sus servidores de bases de datos.
Otras ediciones son la versión Standard, la versión Web y la versión Business Intelligence. La versión de Inteligencia Empresarial proporciona herramientas de Autoservicio y de Inteligencia Empresarial Corporativa con las capacidades de la Edición Estándar.
Sin embargo, cuando se lanzó el Service Pack 1 (SP1) de SQL Server 2016 a finales de 2016, Microsoft hizo que algunas de las características antes limitadas a la edición Enterprise estuvieran disponibles como parte de las Standard y Express. Eso incluyó In-Memory OLTP, PolyBase, índices columnstore y capacidades de partición, compresión de datos y captura de datos de cambios para almacenes de datos, así como varias características de seguridad. Además, la compañía implementó un modelo de programación consistente en las diferentes ediciones con SQL Server 2016 SP1, facilitando el escalado de aplicaciones de una edición a otra.
Historia
El código original de SQL Server fue desarrollado en la década de 1980 por la antigua Sybase Inc, que ahora es propiedad de SAP. Inicialmente, Sybase creó el software para que funcionara en sistemas Unix y plataformas de miniordenadores. Esta empresa, Microsoft y Ashton-Tate Corp., entonces el principal proveedor de bases de datos para PC, se asociaron para producir la primera versión de lo que se convirtió en Microsoft SQL Server, diseñada para el sistema operativo OS/2 y lanzada en 1989.
Ashton-Tate se retiró después, pero Microsoft y Sybase continuaron su asociación hasta 1994, cuando Microsoft asumió todo el desarrollo y la comercialización de SQL Server para sus propios sistemas operativos. El año anterior, cuando la relación con Sybase empezaba a deteriorarse, Microsoft también puso el software a disposición del recién lanzado Windows NT tras modificar la base de código de 16 bits de OS/2 para crear una implementación de 32 bits con características añadidas; en adelante, se centró en el código de Windows. En 1996, Sybase rebautizó su versión como Adaptive Server Enterprise, dejando el nombre de SQL Server a Microsoft.
Versiones de SQL Server
Entre 1995 y 2016, Microsoft lanzó diez versiones de SQL Server. Las primeras versiones estaban dirigidas principalmente a aplicaciones departamentales y de grupos de trabajo, pero Microsoft amplió las capacidades de SQL Server en las siguientes, convirtiéndolo en un SGBD relacional de clase empresarial que podía competir con Oracle Database, DB2 y otras plataformas rivales para usos de bases de datos de alto nivel. A lo largo de los años, Microsoft también ha incorporado a SQL Server diversas herramientas de gestión y análisis de datos, así como funcionalidades para dar soporte a las nuevas tecnologías que fueron surgiendo, como la web, la computación en la nube y los dispositivos móviles.
SQL Server 2012:
Las versiones anteriores incluían SQL Server 2005, SQL Server 2008 y SQL Server 2008 R2, que se consideraba una versión mayor a pesar del sonido de seguimiento de su nombre. Las siguientes fueron SQL Server 2012 y SQL Server 2014. SQL Server 2012 ofrecía nuevas características, como los índices columnstore, que pueden utilizarse para almacenar datos en un formato basado en columnas para aplicaciones de almacenamiento de datos y análisis, y AlwaysOn Availability Groups, una tecnología de alta disponibilidad y recuperación ante desastres (Microsoft cambió la ortografía del nombre de esta última por Always On cuando lanzó SQL Server 2016).
SQL Server 2014:
SQL Server 2014 añadió In-Memory OLTP, que permite a los usuarios ejecutar aplicaciones de procesamiento de transacciones en línea (OLTP) contra los datos almacenados en tablas optimizadas para memoria en lugar de las estándar basadas en disco. Otra de las novedades de SQL Server 2014 fue la extensión del buffer pool, que integra la caché de memoria del buffer pool de SQL Server con una unidad de estado sólido, otra característica diseñada para aumentar el rendimiento de E/S descargando los datos de los discos duros convencionales.
Microsoft SQL Server 2016:
Microsoft SQL Server 2016, que se puso a disposición del público en junio de 2016, se desarrolló como parte de una estrategia tecnológica "primero el móvil, primero la nube" adoptada por Microsoft dos años antes. Entre otras cosas, SQL Server 2016 añadió nuevas funciones para el ajuste del rendimiento, el análisis operativo en tiempo real y la visualización de datos y la elaboración de informes en dispositivos móviles, además de la compatibilidad con la nube híbrida que permite a los DBA ejecutar bases de datos en una combinación de sistemas locales y servicios de nube pública para reducir los costos de TI. Por ejemplo, una tecnología de SQL Server Stretch Database mueve los datos a los que se accede con poca frecuencia desde los dispositivos de almacenamiento locales a la nube de Microsoft Azure, al tiempo que mantiene los datos disponibles para su consulta, si es necesario.
SQL Server 2016 también aumentó el soporte para el análisis de big data y otras aplicaciones de análisis avanzadas a través de SQL Server R Services, que permite que el DBMS ejecute aplicaciones de análisis escritas en el lenguaje de programación de código abierto R, y PolyBase, una tecnología que permite a los usuarios de SQL Server acceder a los datos almacenados en clústeres Hadoop o en el almacenamiento blob de Azure para su análisis. Además, SQL Server 2016 fue la primera versión del SGBD en ejecutarse exclusivamente en servidores de 64 bits basados en microprocesadores x64. Y añadió la posibilidad de ejecutar SQL Server en contenedores Docker, una tecnología de virtualización que aísla las aplicaciones entre sí en un sistema operativo compartido.
SQL Server 2017:
Microsoft SQL Server funcionó exclusivamente en Windows durante más de 20 años. Pero, en 2016, Microsoft dijo que planeaba hacer que el DBMS también estuviera disponible en Linux, comenzando con una nueva versión lanzada como una vista previa de la tecnología de la comunidad en noviembre, e inicialmente apodada SQL Server vNext; más tarde, la actualización se llamó formalmente SQL Server 2017, y estuvo disponible en octubre de ese año.
La compatibilidad con la ejecución de SQL Server en Linux trasladó la plataforma de la base de datos a un sistema operativo de código abierto habitual en las empresas, lo que permitió a Microsoft realizar posibles incursiones con clientes que no utilizan Windows o tienen entornos de servidores mixtos. SQL Server 2017 también amplió la compatibilidad con Docker añadida a los sistemas Windows en la versión anterior para incluir contenedores basados en Linux.
Otra característica notable en SQL Server 2017 es la compatibilidad con el lenguaje de programación Python, un lenguaje de código abierto que se utiliza ampliamente en aplicaciones de análisis. Con su incorporación, SQL Server R Services pasó a llamarse Machine Learning Services (In-Database) y se amplió para ejecutar aplicaciones de R y Python. Inicialmente, el conjunto de herramientas de aprendizaje automático y una variedad de otras características solo están disponibles en la versión de Windows del software de base de datos, con un conjunto de características más limitado soportado en Linux.
SQL Server 2019:
El lanzamiento de SQL Server 2019 está previsto para finales de 2019; sin embargo, hay una vista previa disponible para su descarga. SQL Server 2019 CTP 3.0 es actualmente la última versión pública disponible para la vista previa, solo como una Edición de Evaluación. SQL Server 2019 se mostró en septiembre de 2018, introduciendo nuevas características y ajustes centrados en el rendimiento, la seguridad y el aumento del volumen de trabajo de los datos.
SQL Server 2019 permite a los usuarios unir contenedores de SQL Server, HDFS y Spark utilizando una nueva función de Big Data Cluster. SQL Server 2019 también introduce la construcción de índices columnstore, la reconstrucción y el enmascaramiento de datos estáticos. También es nueva la recuperación de datos acelerada, que realiza y deshace una fase de rehacer en el número de secuencia de registro de página más antiguo. Esto se hace, por ejemplo, en el caso de que el usuario cierre una aplicación que ha estado funcionando durante un largo periodo de tiempo, de manera que el usuario no tenga que esperar mucho tiempo a que la aplicación se cierre.
Los grupos de disponibilidad Always On, disponibles en SQL Server 2012, se han modificado para simplificar la administración de los grupos de disponibilidad. Esto añade soporte a las bases de datos del sistema MSDB y Master. Otros cambios en las funciones incluyen la ampliación de las operaciones que los usuarios pueden realizar con datos siempre cifrados; conectores Polybase adicionales para SQL Server, Oracle, MongoDB y Teradata; opciones adicionales de memoria persistente para el almacenamiento; y mejoras en el procesamiento de consultas.
Características de seguridad en SQL Server
Las funciones de seguridad avanzadas que se admiten en todas las ediciones de Microsoft SQL Server a partir de SQL Server 2016 SP1 incluyen tres tecnologías añadidas a la versión 2016: Always Encrypted, que permite al usuario actualizar los datos cifrados sin tener que descifrarlos primero; la seguridad a nivel de fila, que permite controlar el acceso a los datos a nivel de fila en las tablas de la base de datos; y el enmascaramiento dinámico de datos, que oculta automáticamente los elementos de los datos sensibles a los usuarios sin privilegios de acceso totales.
Otras características de seguridad destacables de SQL Server son el cifrado transparente de datos, que encripta los archivos de datos en las bases de datos, y la auditoría de grano fino, que recoge información detallada sobre el uso de la base de datos para informar sobre el cumplimiento de la normativa. Microsoft también admite el protocolo Transport Layer Security para proteger las comunicaciones entre los clientes de SQL Server y los servidores de bases de datos.
La mayoría de estas herramientas y otras características de Microsoft SQL Server también son compatibles con Azure SQL Database, un servicio de base de datos en la nube construido sobre el motor de base de datos de SQL Server. Como alternativa, los usuarios pueden ejecutar SQL Server directamente en Azure, a través de una tecnología llamada SQL Server on Azure Virtual Machines; configura el DBMS en máquinas virtuales Windows Server que se ejecutan en Azure. La oferta de máquinas virtuales está optimizada para migrar o ampliar las aplicaciones locales de SQL Server a la nube, mientras que Azure SQL Database está diseñada para su uso en nuevas aplicaciones basadas en la nube.
En la nube, Microsoft también ofrece Azure SQL Data Warehouse, un servicio de almacenamiento de datos basado en una implementación de procesamiento paralelo masivo (MPP) de SQL Server. La versión MPP, originalmente un producto independiente llamado SQL Server Parallel Data Warehouse, también está disponible para usos locales como parte del sistema Microsoft Analytics Platform, que lo combina con PolyBase y otras tecnologías de big data.