He escuchado decir esta frase, palabras más, palabras menos, a diferentes personas en la industria: “¿Para que aprendo SQL si las nuevas bases de datos no son relacionales?”.
Siendo profesor de más de un curso alrededor del tema me senté a meditar si realmente es una tecnología obsoleta y era yo quien la valoraba por un factor nostalgia, o si es un conocimiento vigente en la industria a día de hoy.
Después de dar múltiples charlas y prestar atención a los diversos proyectos que he realizado o de los que he sido consultor encontré con sorpresa que SQL se encuentra más vivo que nunca.
En el último año pude ver como nacían nuevos proyectos para soportar empresas de nivel mundial que eran respaldados por tecnologías cloud, y las últimas versiones de bibliotecas y frameworks de front-end, que daban soporte a robustas aplicaciones a través de bases de datos relacionales finamente configuradas.
Profundizando en las últimas versiones de RDBMS, vi con gusto que lejos de quedarse atrás, han capitalizado en lo que antes eran debilidades, convirtiéndolas en fortalezas. En la documentación de MySQL por ejemplo vi que hicieron una reestructura mayor en su versión 8 haciéndola mucho más eficiente y permitiéndole tener manejo nativo de UUID y funciones estadísticas como window functions.
El fork de MySQL de nombre MariaDB y que sigue siendo compatible con las aplicaciones que usan la primera, detrás de cámaras implementa un almacenamiento columnar que la hace en muchos casos, ideal para aplicaciones estadísticas y almacenamiento frío.
Aún más, me di cuenta que más allá de la implementación de bases de datos relacionales, el propio lenguaje ha evolucionado en otros ámbitos. La base de datos CassandraDB que inicialmente fue desarrollada por Facebook, ha sido utilizada ampliamente por Twitter y actualmente es parte de la Apache foundation utiliza un lenguaje virtualmente idéntico a SQL llamado CQL (Cassandra Query Language).
Incluso ha hecho una incursión estelar en el mundo de Machine Learning (ML) de la mano de BigQuery de Google. Esta herramienta usa el lenguaje SQL completo y que con un par de comandos adicionales convierte un query en la entrada necesaria para entrenar, probar y ejecutar un modelo de ML, dando de golpe a aquellos que conocen a fondo SQL una herramienta para convertirse en expertos en ML.
Después de esta reflexión inicial concluí con alegría que no solo SQL no ha muerto, sino que se encuentra más vivo que nunca y me sentiré honrado de seguir contribuyendo a que la comunidad sea cada vez más experta en este interesante lenguaje.
Curso Práctico de SQL