¿Cuál es el futuro de los desarrolladores de SQL en un mundo con machine learning?

¿Cuál es el futuro de los desarrolladores de SQL en un mundo con machine learning?

  • Mark Balkenende
    Mark Balkenende is a Sales Solution Architects Manager at Talend. Prior to joining Talend, Mark has had a long career of mastering and integrating data at a number of companies, including Motorola, Abbott Labs and Walgreens. Mark holds an Information Systems Management degree and is also an extreme cycling enthusiast.

Terminé mis estudios universitarios a finales de los años noventa, en el momento idóneo para disfrutar de la crisis del efecto 2000. Si se acuerda de aquella época tan divertida, significa que tiene la edad necesaria para apreciar este blog. Me licencié en Sistemas de Información Gerencial, que es una combinación de Ciencias Informáticas y Administración de Empresas, y aunque a mí se daba mejor la informática que la parte empresarial, sobreviví. Teníamos una asignatura que abarcaba ambas disciplinas y que a mí se me daba muy bien; se llamaba Teoría de las Bases de Datos y en ella se impartían los fundamentos de los Sistemas de Gestión de Bases de Datos Relacionales (RDBMS, por sus siglas en inglés). Aprendimos de todo, desde estructuras de tablas bien hechas, claves primarias y foráneas hasta técnicas básicas de modelado. También es donde escuché hablar por primera vez del término SQL (que en inglés la gente pronunciaba «sequel», [secuela], o incluso «squirrel» [ardilla]).

SQL significa lenguaje de consulta estructurada en inglés y se acompaña de una serie de estándares, aunque parece que cada proveedor de bases de datos los aplica de forma ligeramente distinta. Si bien el SQL presenta pequeñas diferencias según si se utiliza MySQL, Oracle, DB2 o la herramienta de la marca que uno tenga, cuando se es competente escribiendo en SQL y se conoce el modelo de la base de datos, se puede adaptar rápidamente a los datos que se necesiten en cada caso.

A lo largo de mi trayectoria he dedicado unos 14 años a varias funciones de integración, casi siempre empleando algún tipo de sistema de RDBMS como fuente y como destino. He destacado en la creación de distintos modelos de datos que permitan la creación de informes, los data marts y los almacenes operacionales de datos (ODS, en inglés). Todos estos modelos de datos respaldaban las operaciones, la consolidación financiera y cumplían otras necesidades comerciales. Año tras año acabé adquiriendo una excelente habilidad para la escritura de SQL complejo y eficiente.

Incluso hoy en día me gusta probar distintos sistemas y bases de datos cuando prometen algún tipo de compatibilidad con SQL. Por ejemplo, hace poco obtuve mi certificación Data Vault 2.0, para la que creé una bóveda de datos para nuestras necesidades corporativas con Snowflake, que es un sistema de almacenamiento de datos cloud en ANSI SQL totalmente compatible. Por suerte, no he perdido mi habilidad.

Ahora bien, todo esto nos lleva a la siguiente pregunta: ¿Puede alguien como yo encontrar su lugar a estas alturas en este mundo de nuevas plataformas y procesamiento?

SQL o no SQL: esa es la cuestión

El paradigma de las bases de datos ha cambiado. Ahora existen NoSQL, bases de datos documentales, bases de datos columnares, bases de datos orientadas a grafos, Hadoop, Spark y muchas otras plataformas de procesamiento paralelo masivo (MPP) que aparecen constantemente. Todas proporcionan grandes ventajas para casuísticas distintas, pero que no dan buen resultado con los RDBMS tradicionales.

Las plataformas de big data permiten una forma de procesar datos más diversos más rápidamente de lo que hubiéramos podido imaginarnos en 1999, cuando la mayoría de los profesionales informáticos tenían que conocer SQL para satisfacer necesidades empresariales. Hoy en día se requiere conocer muchas más plataformas y entornos si se quiere aprovechar todas las capacidades y ventajas que prometen los proveedores de big data. ¿Los que hemos confiado siempre en sistemas de SQL podremos sobrevivir o vamos a tener que aprender Scala, Python, R, Java o el próximo lenguaje o plataforma de moda que surja?

Capítulo aparte son las herramientas como Hive e Impala, que permiten aprovechar los conocimientos de SQL para encontrar y acceder a datos de plataformas Hadoop y data lakes, pero todas estas herramientas tipo Hive tienen sus restricciones. Las funciones que uno puede realizar sobre los datos son unas y no otras: las definidas que el SQL siempre ha permitido. Huelga decir que uno puede utilizar funciones definidas por el usuario, pero de ahí a programar hay un pequeño paso.

¿Python se perfila en su horizonte?

El punto débil de los sistemas con SQL aparece cuando uno empieza a aplicar los métodos más recientes de machine learning a sus datos o cuando se pretende sacar provecho de las ingentes cantidades de datos en streaming y de consultas en movimiento. En efecto, para los que les encanten los RDBMS, los datos no descansan nunca.

Los tiempos han cambiado y nuestras competencias deben seguir el mismo camino. Yo mismo he empezado a aprender Python, puesto que es un lenguaje de uso más sencillo que Java y muchos métodos de machine learning son compatibles con Python. Dentro de cinco a diez años, todos los trabajadores de la información o informáticos de soporte deberán conocer el uso del machine learning o, cuando menos, saber cómo compatibilizarlo. Tendrán que saber trabajar con sistemas MPP como Hadoop y Spark de un modo u otro para el procesamiento de datos. El machine learning será fundamental para asistir en la toma de decisiones a partir de datos y para obtener la perspectiva competitiva necesaria para liderar su mercado.

El SQL ha muerto, larga vida al SQL

Sigue existiendo una gran necesidad de uso del SQL, como constato al ver cómo evolucionan metodologías como las bóvedas de datos y adquieren una gran popularidad en los ámbitos de NoSQL y HDFS/almacenamiento. Siempre existirán los sistemas estructurados, como el ERP o el CRM, que requerirán almacenes de datos estructurados. Tengan por seguro que no desaparecerán. Sin embargo, cuando su director de Experiencias (CXO) quiera predecir el futuro y cómo se verá afectada su empresa, o comprender soluciones de optimización muy automatizadas que acumulan inteligencia con el tiempo, quizá le convenga dejar de buscar respuestas en los lugares de siempre. Puede que haya llegado el momento de centrarse en los datos que encontramos disponibles en su forma más natural (sin estructurar o semiestructurados) y encontrar maneras de volverse más predictivos, prescriptivos e incluso cognitivos. Por lo tanto, si bien el SQL y los RDBMS, al igual que las unidades centrales, tienen una larga vida por delante, el interés se está desplazando hacia herramientas de analítica en tiempo real, puesto que ¡hoy por hoy con el SQL no basta!

Join The Conversation

0 Comments

Deja un comentario

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