Todas

Noticias ICM

sql server

SQL Server: todo lo que debes que saber sobre este servicio

Desde la acelerada evolución en el entorno de la tecnología y la computación, se producen día a día una inmensa cantidad de datos que quedan almacenados para su posterior uso. El mundo de Internet es cada vez más dinámico y ello conlleva una necesidad: la gestión y almacenamiento de cantidades ingentes de información. En 1988, Microsoft publicó su primera versión de SQL Server, diseñada para sistemas OS/2 y fue un desarrollo conjunto con Sybase.

A partir de la década de los 90′, Microsoft empezó a desarrollar su versión para plataformas NT. En continua evolución, muchas personas estaríamos de acuerdo en que la primera versión que llegó con fuerza fue SQL Server 2000 (v8.0), publicada en ese mismo año.  Con la adopción del lenguaje Transact SQL ó T-SQL, originalmente de IBM, se dotó al lenguaje de ciertas mejoras para permitir a los usuarios la definición de funciones propias, entre otras mejoras.

Hoy en día, el popular motor de bases de datos de Microsoft corre la v15.0, es la llamada SQL Server 2019. Este motor ha estado en constante mejora desde su creación, incluyendo cada vez más características adaptadas a las tecnologías «mainstream».

SQL Server

El abanico de necesidades a cubrir con SQL Server es muy amplio. No importa demasiado si tienes un pequeño site que gestiona un catálogo de 10-20 productos o si tienes volúmenes de cientos de miles de peticiones por segundo. En ambos casos SQL Server puede ser un producto que cubra tus necesidades.

Como ya sabrás, SQL Server tiene un historial bastante grande de versiones y, dentro de cada versión, se trabaja con ediciones.

Las ediciones nos marcarán qué características técnicas y que límites técnicos tendrá una versión concreta que vayamos a instalar. Como supongo que habrás adivinado ya, la diferencia entre unas ediciones y otras es sencillamente el precio. No es barato. Lo puedo asegurar, SQL Server no es barato. Es por eso por lo que debemos tener claro qué funcionalidades necesitamos para saber qué edición se adecua mejor a nuestras necesidades.

Versión SQL Server 2019

Como el abanico de versiones es amplio, para este hilo vamos a asumir que hablamos siempre de la última versión, SQL Server 2019 (los nombres de las ediciones han ido sufriendo ligeros cambios a lo largo del tiempo).

En concreto, la versión 2019 del motor, tiene las siguientes ediciones:

  • Express editions. Esta versión es gratuita, pero viene con bastantes limitaciones. Si tu hobby es desarrollar o desarrollas profesionalmente para un proyecto muy pequeño y necesitas un soporte de datos, esta es tu versión.
  •  Developer. Incluye todas las funcionalidades de la versión Enterprise, pero el licenciamiento incluido no nos permite usarlo en entornos de producción. Por ello, es perfecto para testear características avanzadas de SQL Server.
  •  Web. Edición de bajo coste para utilizar en Hosters Web.
  •  Standard. Esta versión contiene funcionalidades de BI (Business Intelligence) para pequeñas y medianas organizaciones.
  • Enterprise. Es la versión que incluye todas las características de SQL Server.

Podemos ver comparativas de las diferentes funcionalidades del motor en comparación con versiones anteriores, clickando aquí.
También podemos consultar la lista de características por versión para saber cuál se adapta mejor a nuestras necesidades en este enlace. Y para los usuarios de la versión 2017, podemos ver las diferencias entre ediciones en el siguiente enlace.

Debemos tener cuidado con la elección que hacemos, puesto que la diferencia económica entre las diferentes ediciones puede llegar a ser muy alta.

Recomendaciones de su uso

SQL Server, selecciones la edición que selecciones, es un producto muy robusto. Yo, personalmente, empecé hace muchos años a trabajar con bases de datos SQL Server y no podría deciros ni un sólo error en todos estos años que haya venido por un problema en el servicio SQL. De hecho, siempre lo uso como ejemplo de cómo de robusto debe ser un software, trabajando a veces al límite del Hardware.

Se trata de un producto conocido. Recordemos que hoy en día, cuando no sabemos cómo hacer algo o cómo avanzar con un problema, todos recurrimos a Internet. Al ser un producto tan extendido, encontrar documentación tanto de Microsoft como de terceros sobre ese servicio es muy sencillo. Puede parecer un aspecto un tanto simple, pero os aseguro que para otros gestores encontrar documentación de calidad es bastante más complicado.

Incluso si trabajas en entornos Cloud, sobre todo con Microsoft Azure, podrás llegar a integrar funcionalidades interesantes como el backup en la «nube», que es capaz de realizar SQL Server sobre un Storage Conainer en Azure.

Es un claro ejemplo de cómo ha ido evolucionando T-SQL, añadiendo cada vez más capacidades para adaptarlo a los nuevos requerimientos.

Caso práctico

Con este sencillo código, demostramos la versatilidad del lenguaje generando un backup de nuestra base de datos en Azure Storage desde nuestro SQL Server OnPremise, usando T-SQL:

  • Nombre del fichero que vamos a guardar: DECLARE @BackupFile varchar(100)
  • Base de datos afectada: DECLARE @DBNAME VARCHAR(200)
  • URL del Servicio: DECLARE @URL VARCHAR(200)
  • Establecemos la base de datos: SET @DBNAME = ‘$mi-bd$’
  • Componemos el nombre del Backup: SET @BackupFile = ‘Nombre del backup’
  •  Componemos la URL sobre la que lanzaremos el Backup: SET @URL =  ‘https://$micuentade$.blob.core.windows.net/$mistorage$/’ + @BackupFile
  • Lanzamos el Backup
  • Asumimos que $mi-credencial$ están definicas en el servidor: BACKUP DATABASE @DBNAME TO URL = @URL WITH credential = ‘$mi-credencial$’, FORMAT, NAME = @BackupFile, NOREWIND, NOUNLOAD, STATS = 10

Herramientas

Otro punto para comentar de SQL Server es la gran cantidad de herramientas de las que dispondremos al instalar el servicio y la cantidad de funcionalidades asociadas al servicio en sí.

Por defecto, tras instalar el paquete SQL Server, tendremos disponibles herramientas como un Importador y Exportador de datos, un Profiler que podemos hacer servir para analizar el rendimiento, entre otras consideraciones, de las consultas SQL que SQL Server ejecuta. Asimismo, encontraremos herramientas para realizar mejoras en los esquemas de datos en función de las cargas de trabajo analizadas.

En cuanto a los servicios, podemos encontrar algunos como servicios de replicación de datos, servicios relacionados con Machine Learning, soporte para consultas externas con PolyBase, servicios de análisis y estadísticas y un largo etcétera.

Desde hace algún tiempo también podemos instalar SQL Server en sistemas Linux, pero ahora con SQL Server 2019 podemos, directamente, descárganos una imagen del producto en los siguientes formatos:

  • Windows, donde ha corrido la mayor parte del tiempo.
  •  Linux
  • Docker: ¡Sí! Podemos descargarnos una imagen preparada con SQL Server 2019 en un container.
  • Kubernetes: dispondremos también de una imagen preparada para desplegar en clusters K8S para el análisis de grandes volúmenes de datos.

Conclusión

32 años; ésta es la edad de SQL Server. Es un producto maduro que seguramente no cumplirá los requisitos de todo el mundo pero que, a grandes rasgos, cubre la mayor parte de las necesidades que un equipo de desarrollo puede requerir sobre el acceso a datos.

Cientos de servicios que usamos cada día están fuertemente apoyados sobre bases de datos SQL Server: bancos, casas de apuestas, gestión pública, sector médico y un sin fin de sites populares. Como muestra, os invito /es realmente interesante) a que leáis este artículo de Microsoft que explica cómo la casa de apuestas Bwin mejoró espectacularmente su capacidad de acceso a datos exprimiento una única característica de SQL Server 2019, los In-Memory OLTP.

Tags: , ,
Comenta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Confían en nosotros

La habitación de las niñas
ElMundoToday
DDB
BBVA
MYGS
Shiseido
Naturgy
Paco Perfumerias