SQL, el lenguaje de consulta estructurado, sigue siendo uno de los lenguajes de programación más utilizados y ocupa el cuarto lugar en la investigación de Stack Overflow para 2023. Poco más de la mitad (51,52%) de los desarrolladores profesionales utilizan SQL en su trabajo, pero solo alrededor de un tercio (35,29%). %) de quienes aprenden a codificar usan SQL. Para ser un lenguaje que se ha utilizado durante décadas, SQL tiene una reputación mixta entre los desarrolladores. ¿Por qué SQL sigue en uso cuando tantos otros lenguajes han aparecido y desaparecido? ¿Y por qué SQL todavía tiene un futuro brillante? Ubicuidad y estabilidad Una de las razones por las que SQL sigue en uso es porque es ubicuo. Conocer SQL es una habilidad básica para muchos desarrolladores, lo que da lugar a un gran grupo de personas con las habilidades disponibles. A su vez, esto anima a más personas a aprender SQL, ya que pueden ver la demanda de personas con esas habilidades y ofrecer oportunidades profesionales que pueden aprovechar. Además de esta ubicuidad, SQL es estable. Es un estándar eficaz en el que los desarrolladores pueden confiar y no cambiará de una versión a otra. Esto hace que SQL sea adecuado para la planificación de soporte a largo plazo, y los equipos involucrados pueden planificar con anticipación su infraestructura de datos. Esto también simplifica la transición de proyectos entre diferentes desarrolladores a medida que los miembros del personal cambian de roles. A continuación, SQL facilita el cumplimiento de los requisitos de compatibilidad en torno a los datos dentro de las aplicaciones. El uso de SQL como enfoque para interrogar datos en un componente de datos hace que sea más fácil pasar a utilizar otra opción si sus necesidades cambian. Por ejemplo, si decide cambiar de una base de datos a otra, no necesitará editar cómo funciona la lógica de su aplicación cuando utilice términos SQL, ya que son los mismos en todas partes. Debido a que SQL actúa como un estándar, una ventaja es que facilita Es más fácil hacer que sus datos sean portátiles. En lugar de estar vinculado a una base de datos específica con su propio lenguaje y forma de almacenar datos, SQL garantiza que sus datos sean suyos y que pueda hacer lo que quiera con ellos. Efectivamente, ya no tendrá que pensar específicamente en sus bases de datos y en lo que pueden ofrecer. En su lugar, puede considerar las herramientas que existen dentro del lenguaje como el punto de control sobre su proceso de planificación de infraestructura. Como ejemplo, considere sus opciones para ejecutar una base de datos como MySQL y luego querer cambiar a otra opción como PostgreSQL. Estas bases de datos serían diferentes en la forma en que operan y administran los datos a lo largo del tiempo. Sin embargo, desde un punto de vista funcional, usar SQL para interrogar esos datos le daría los mismos resultados. Respaldado por la ciencia Además de la popularidad de SQL como lenguaje, también vale la pena observar lo que SQL ofrece desde un punto de vista tecnológico. En este frente, el mayor beneficio es que su diseño es lógico. Esto significa que, cuando se comprende cómo funciona, se puede utilizar de forma elegante e inteligente. Como parte de esto, tenemos que observar el vínculo entre SQL y las bases de datos relacionales. Para muchos desarrolladores, SQL está muy ligado al modelo de base de datos relacional, con todas las ventajas y desventajas que esto pueda tener. Sin embargo, SQL como lenguaje está separado de las bases de datos relacionales y es importante no combinarlos. Hoy en día, muchas bases de datos no relacionales han adoptado un modelo similar a una tabla y un lenguaje SQL. Ha pasado mucho tiempo desde que SQL y el modelo relacional eran sinónimos, y con el auge de las bases de datos no relacionales los límites se han vuelto más fluidos. Por ejemplo, algunos almacenes de valores clave y algunas bases de datos de almacenes de documentos han adoptado una estructura similar a una tabla para organizar sus datos, y algunos proporcionan un subconjunto de SQL o un lenguaje de consulta similar a SQL para mejorar la accesibilidad y facilitar a los desarrolladores la consulta. trabajar con sus productos. A lo largo de los años, el modelo relacional ha demostrado ser extremadamente eficaz para el diseño de bases de datos. La razón de esto es que el modelo se basa en una teoría matemática sólida y muy precisa. Estos sólidos fundamentos teóricos son la razón por la que las bases de datos relacionales siguen siendo tan populares en la informática y la ingeniería de software en general. SQL ha hecho que sea más fácil acceder a esa potencia lógica y de computación con el tiempo y mantener esos sistemas funcionando de manera uniforme y que todos puedan entender. Si bien he mencionado que SQL es un estándar de facto, como cualquier otro estándar, ha evolucionado a lo largo del tiempo. tiempo y puede ampliarse si se planifica bien. El mejor ejemplo de esta evolución es el cambio en el estándar que permite a los proveedores de bases de datos admitir diferentes formatos JSON en 2016. Durante muchos años, los desarrolladores que querían trabajar con JSON tenían la opción de utilizar bases de datos orientadas a documentos como MongoDB para su almacén de datos. , mientras que otras bases de datos serían opciones secundarias por rendimiento y facilidad de uso. Hoy en día, ese no es el caso, ya que muchas bases de datos relacionales como PostgreSQL han implementado soporte JSON que puede funcionar tan rápido o incluso más rápido que las bases de datos orientadas a documentos para ciertas cargas de trabajo. Este soporte facilita a los desarrolladores diseñar sistemas e infraestructuras que respalden directamente los objetivos de sus aplicaciones, en lugar de estar vinculados a un enfoque específico. Poseer la optimización Otro beneficio de SQL es que es un lenguaje declarativo. La programación declarativa funciona describiendo lo que desea que haga el programa, en lugar de especificar los pasos que desea que siga para hacerlo. Para los desarrolladores y las bases de datos, esto facilita la creación de consultas, porque pueden concentrarse en el resultado que desean lograr en lugar de realizar todo el cálculo. En efecto, SQL le permite describir el resultado y deja la complejidad de ejecutar el cálculo a la base de datos. Como cualquier lenguaje poderoso, SQL tiene sus críticos. Por ejemplo, una queja común es que los optimizadores de SQL no son muy eficaces para mejorar el rendimiento. Si bien es posible que desee mejorar sus resultados y la velocidad de respuesta, estas herramientas son tan poderosas como la cantidad de trabajo que dedique al principio. A veces nos enfrentamos a un problema similar con los compiladores de lenguajes. Aunque los compiladores generalmente logran convertir el código del desarrollador en un binario más pequeño y más rápido, se sabe que en ocasiones fallan gravemente, con el resultado opuesto. Como desarrollador, es posible que deba ayudar al compilador u optimizador para lograr los resultados correctos. ¡A veces este conocimiento puede ser oscuro! Como dijo el tío Ben de Spider-Man, un gran poder conlleva una gran responsabilidad. Debería esperar optimizar su enfoque SQL tanto como sea posible, en lugar de depender únicamente de herramientas para ofrecer mejoras. Otra crítica común a SQL se debe a su fuerte vínculo con las bases de datos relacionales. ¿Cómo puede algo tan profundamente arraigado en el diseño tradicional de bases de datos ser adecuado para el mundo moderno? Por supuesto, la combinación de SQL y bases de datos relacionales continúa sirviendo a cientos de casos de uso en la actualidad, brindando escalabilidad y rendimiento que pueden satisfacer las necesidades de las aplicaciones. El desafío es diseñar su enfoque basándose en la comprensión de lo que SQL es bueno para ofrecer. Satisfacer las necesidades de los desarrolladores modernos A medida que la demanda de software, el ritmo de desarrollo de software y la cantidad de desarrolladores han aumentado, el desafío para SQL es que menos desarrolladores tienen una Comprensión profunda de cómo funciona SQL desde una perspectiva teórica. Si bien movimientos como el devops y la ingeniería de confiabilidad del sitio se concentran en satisfacer las demandas que las empresas tienen en torno a los servicios de TI, los roles involucrados tienden a cubrir múltiples partes de la pila de TI en lugar de funciones específicas. Aunque estos roles teóricamente se centran en el sistema total, no hay centrarse suficiente en cómo alinear la lógica empresarial, o lo que el cliente quiere lograr, con las complejidades de la infraestructura. ¿Por qué es esto tan importante? Porque una arquitectura de base de datos no sólo debe cumplir con los requisitos funcionales sino también alinearse con los objetivos de rendimiento, escalabilidad y seguridad. Sin ambos, se carece de una base sólida para un desarrollo de software exitoso. Cuando las aplicaciones comienzan a escalar masivamente o cuando aparecen problemas de rendimiento, saber cómo funciona SQL puede resultar extremadamente útil. Comprender el diseño de consultas, como por ejemplo cómo seleccionar datos de una tabla más grande en lugar de analizar datos de la misma tabla varias veces, puede tener un gran impacto en el rendimiento. Estas habilidades de gestión de datos dependen efectivamente de la comprensión de la teoría de las bases de datos. Esto lleva tiempo comprenderlo e implementarlo en la práctica, pero es esencial para ofrecer mejores resultados. Aprender cualquier idioma puede ser difícil y llevar mucho tiempo. Muchos de nosotros no tenemos tiempo para profundizar en los principios y luego aplicar ese conocimiento en todos los idiomas y aplicaciones. Sin embargo, esto conduce a problemas como un rendimiento deficiente, que luego se vuelve más difícil de diagnosticar y tratar de manera efectiva. Implementar el tipo de base de datos incorrecto también puede afectar el éxito de su proyecto. Puede estar muy satisfecho con una base de datos que sea excelente para ciertos casos de uso, pero puede que no sea adecuada para todos. SQL facilita la abstracción de esos requisitos de la infraestructura subyacente. Incluso si comete un error con su elección de base de datos, SQL hace que sea más fácil pasar a una mejor opción. SQL sigue siendo popular entre muchos usuarios, y seguirá siendo popular porque resuelve algunos de los mayores desafíos que existen en torno a cómo trabajar con datos. . Puede que tenga una reputación aterradora para algunos, pero eso no quita la enorme cantidad de tecnología de la información que depende de SQL todos los días para proporcionarnos valor. Que podamos SELECCIONAR SQL y CREAR valor con él por mucho tiempo. Charly Batista es líder técnico de PostgreSQL en Percona. New Tech Forum ofrece un lugar para que los líderes tecnológicos, incluidos proveedores y otros contribuyentes externos, exploren y discutan la tecnología empresarial emergente con una profundidad y amplitud sin precedentes. . La selección es subjetiva y se basa en nuestra elección de las tecnologías que creemos que son importantes y de mayor interés para los lectores de InfoWorld. InfoWorld no acepta garantías de marketing para su publicación y se reserva el derecho de editar todo el contenido aportado. Envíe todas sus consultas a doug_dineley@foundryco.com. Copyright © 2024 IDG Communications, Inc.

Source link