SQL a los 50: ¿qué le espera al lenguaje de consulta estructurada?
Incluso si la IA generativa oculta SQL detrás de la cortina, seguirá desempeñando un papel fundamental en la forma en que interactuamos con los datos y los utilizamos.
En mayo de 1974, Donald Chamberlin y Raymond Boyce publicaron un artículo sobre SEQUEL, un lenguaje de consulta estructurado que podía utilizarse para gestionar y ordenar datos. Tras un cambio de título debido a los derechos de autor de otra empresa sobre la palabra, el lenguaje de consulta estructurado (SQL) fue adoptado por empresas de bases de datos como Oracle junto con sus novedosos productos de bases de datos relacionales a finales de la década de 1970. El resto, como suele decirse, es historia.
SQL cumple ahora 50 años. SQL se diseñó y luego se adoptó en torno a las bases de datos, y ha seguido creciendo y desarrollándose como forma de gestionar e interactuar con los datos. Según Stack Overflow, es el tercer lenguaje más utilizado habitualmente por los programadores profesionales. En 2023, el IEEE señaló que SQL era el lenguaje más popular que los desarrolladores debían conocer a la hora de conseguir un trabajo, debido a cómo se podía combinar con otros lenguajes de programación.
Si nos fijamos en otros lenguajes antiguos que se utilizan en la actualidad, COBOL (lanzado en 1959) y FORTRAN (compilado por primera vez en 1958) también siguen en activo. Aunque pueden dar lugar a puestos bien remunerados, están más vinculados a implantaciones heredadas que a proyectos nuevos y apasionantes. SQL, por otro lado, se sigue utilizando como parte del trabajo en torno a la IA, la analítica y el desarrollo de software. Sigue siendo el estándar de cómo interactuamos con los datos a diario.
¿Por qué SQL sigue siendo tan importante?
Al analizar SQL, es posible que te preguntes por qué ha sobrevivido -incluso prosperado- durante tanto tiempo. Desde luego, no es fácil de aprender, ya que tiene una sintaxis peculiar muy propia de su época. La experiencia de usuario en torno a SQL puede resultar difícil de asimilar para los nuevos desarrolladores. Además, todos los proveedores de bases de datos tienen que soportar SQL, pero cada uno tendrá sus propias peculiaridades o matices en la forma de implementar este soporte. En consecuencia, es posible que su enfoque para una base de datos no se traslade fácilmente a otra, lo que conlleva más trabajo y más requisitos de soporte.
Para empeorar las cosas, es fácil cometer errores en SQL que pueden tener consecuencias reales y potencialmente catastróficas. Por ejemplo, omitir una cláusula WHERE en las instrucciones puede hacer que se elimine una tabla entera en lugar de realizar la transacción deseada, con la consiguiente pérdida de datos y trabajo de recuperación. Comprobar la lógica y saber cómo funcionan las cosas en la práctica es un requisito necesario.
Entonces, ¿por qué SQL sigue siendo la principal forma de trabajar con datos hoy en día, 50 años después de que se diseñara y lanzara por primera vez? SQL se basa en una sólida teoría matemática, por lo que sigue funcionando con eficacia y soportando los casos de uso para los que fue diseñado. Lo cierto es que cuando se combina SQL con bases de datos relacionales, se pueden asignar los datos que se crean -y la forma de gestionarlos- a muchas prácticas empresariales de una forma fiable, eficaz y escalable. En pocas palabras, SQL funciona y ninguna opción de sustitución ha dado la talla de la misma manera.
Por ejemplo, SQL fue el primer lenguaje de programación en devolver varias filas por solicitud. Esto facilita la obtención de datos sobre lo que está ocurriendo dentro de un conjunto de datos -y, en consecuencia, dentro de la empresa y sus aplicaciones- y su posterior conversión en algo que la empresa pueda utilizar. Del mismo modo, SQL facilitó la compartimentación y segregación de la información en diferentes tablas, y luego utilizar los datos de esas tablas para tareas empresariales específicas, como poner los datos de los clientes en una tabla y los datos de fabricación en otra. La capacidad de realizar transacciones es la columna vertebral de la mayoría de los procesos actuales, y SQL lo hizo posible a gran escala.
Otra razón importante del éxito de SQL es que el lenguaje siempre ha evolucionado con los tiempos. A partir de sus raíces relacionales, SQL ha añadido soporte para datos de sistemas de información geográfica (GIS), para documentos JSON y para XML y YAML a lo largo de los años. De este modo, SQL se ha ido adaptando a la forma en que los desarrolladores quieren interactuar con los datos. Ahora, SQL puede combinarse con datos vectoriales, lo que permite a los desarrolladores interactuar con datos utilizando SQL pero realizando búsquedas vectoriales para aplicaciones de IA generativa.
¿Cuál es el futuro de SQL?
En el pasado ha habido intentos de sustituir a SQL. Las bases de datos NoSQL (Not only SQL) se desarrollaron para sustituir a las bases de datos relacionales y alejarse de los modelos tradicionales de trabajo y gestión de datos a escala. Sin embargo, en lugar de sustituir a SQL, estas bases de datos añadieron sus propios lenguajes similares a SQL que reproducían algunos de los métodos y enfoques que SQL ha arraigado en la forma de trabajar de los desarrolladores.
En el pasado, los defensores del procesamiento del lenguaje natural han reclamado nuevos métodos que eliminen el enfoque estandarizado y torpe de SQL. Sin embargo, estos intentos se han saldado con métodos tan toscos como los que pretendían sustituir, lo que ha llevado a dejarlos de lado o a ignorarlos. La IA generativa puede asumir una mayor parte de la tarea de escribir SQL para los desarrolladores, ya que los grandes modelos lingüísticos han estado expuestos a grandes cantidades de código SQL como parte de su entrenamiento. Sin embargo, aunque este enfoque puede desarrollarse y hacerse más popular con el tiempo, sigue dependiendo de SQL para la interacción real con esos conjuntos de datos y para devolver los resultados al usuario. En todo caso, esto probablemente hará que SQL sea más importante en el futuro, no menos, aunque sea menos visible para el desarrollador.
Aunque SQL acabe moviéndose detrás de la cortina, seguirá desempeñando un papel fundamental en la forma en que interactuamos con los datos y los utilizamos. Dado que un porcentaje tan elevado de nuestros sistemas informáticos depende de los datos para funcionar, SQL no desaparecerá a corto plazo. Así que celebremos que SQL cumple 50 años y pensemos en cómo podemos seguir desarrollándolo y utilizándolo en el futuro.
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!