Introducción
Érase una vez unos datos
Si en los años 80 hasta 2010, cuando me apasioné totalmente por la informática y el desarrollo, un superinformático se distinguía ante todo por su pericia en uno o varios lenguajes (como Basic, Fortran, C, C++, Java, PHP, etc.), resulta que el futuro se presenta muy distinto. El dominio abrumador de los lenguajes parece estar llegando a su fin, ahogado, sin duda, por tanta diversidad. El objetivo final ya no es ser capaz de codificar una directiva determinada con el menor número posible de caracteres/líneas de código, ni siquiera ser capaz de reutilizar de forma óptima una porción de código. Aquellos tiempos quedaron atrás. Algunos le echarán la culpa a la llegada del no-code o low-code, pero una vez más el verdadero debate no es o ha dejado de ser cómo procesar la información, sino la información en sí misma. De hecho, parece que nuestra visión de la gestión de procesos empresariales ha alcanzado un segundo nivel de madurez. Cada vez pedimos más a nuestros programas: tienen que reaccionar mejor, sustituir mejor nuestras tareas, evolucionar mejor y, en definitiva, llegar a ser mejores que nosotros, los humanos. Con el paso del tiempo, la mayoría de los programas se han vuelto demasiado complejos. Muy a menudo, debido a la yuxtaposición de excepciones y a la adición de nuevos requisitos siempre recurrentes, la conclusión es clara: se han convertido en algo difícil de mantener y, a veces, incluso imprevisibles.
En pocas palabras, mientras que el campo de las TI se ha centrado hasta ahora en los procesos, actualmente estamos experimentando un verdadero cambio que está poniendo en tela de juicio un gran número de ideas preconcebidas y formas de hacer las cosas. Estamos entrando irremediablemente en la era de los datos.
Entonces, ¿cómo crear una aplicación cuando es imposible describir el algoritmo? ¿Cómo puedo estar seguro de que las decisiones que tomará un programa se corresponderán con la realidad y no con una documentación que puede haber quedado obsoleta? ¿Cómo puedo garantizar que las aplicaciones evolucionarán de forma natural? De manera más sencilla, ¿cómo puedo tratar datos complejos hasta ahora ignorados?
Aunque pueda parecer difícil responder a estas preguntas, una cosa es cierta: la solución ya no se encuentra únicamente en uno u otro lenguaje. La respuesta ya no se encuentra en el rigor con que se procesa la información, sino en la información en sí misma. Así que tenemos que buscar en la fuente, y esa fuente son los datos.
¿Cómo podemos reinventar un nuevo enfoque? Sin duda, adoptando una visión radicalmente distinta. Hasta ahora, la solución informática a un problema dado ha sido procedimental y determinista. Si bien este enfoque sigue siendo adecuado para la mayoría de los procesos, se muestra rápidamente limitado cuando se abordan problemas complejos. Excepciones imprevistas, datos complejos, procesos incontrolados, etc. son solo algunos obstáculos a los que se han enfrentado incluso las aplicaciones más bien diseñadas en las últimas décadas, y para...
¿Por qué este libro?
Hay muchos libros sobre los datos y los problemas que los rodean, sobre todo hoy en día. También hay mucha literatura sobre tal o cual tecnología que permite comprender, recuperar, manipular o transportar datos. De hecho, en la constelación de soluciones de gestión de datos, debe de haber un libro para casi todo. La idea de este no es, desde luego, añadir un nuevo elemento a esta constelación ni la de añadir complejidad a la niebla. Se trata más bien de un cemento entre estos libros, una guía práctica para quienes quieran emprender este camino y hacerse un hueco en el mundo de los datos. Como se habrá dado cuenta, el mundo de los datos es inmenso, y elaborar una guía que le ayude a orientarse en este universo, es esencial.
Puede que algunos se enfaden conmigo, pero todavía no vamos a hablar del tsunami de datos que está llegando a las empresas y a nuestra vida cotidiana, de la Ley de Moore, etc. Todo esto ya es una obviedad y, sobre todo, una realidad. Lo importante es que estos datos son, ante todo, un apreciado recurso en bruto. "Data is the New Oil " que hay que explotar, pero sobre todo dominar y controlar. Este libro no tratará de las estadísticas de todas las grandes empresas de investigación que describen estos datos, porque muchos otros han tratado este tema ampliamente. Tampoco es útil enumerar todos los casos de uso que implican datos, porque los datos tienen que ver con todos los casos de uso. Todo proyecto siempre implica datos. Por tanto, los datos no son un tema, son EL tema. En cambio, este libro le mostrará cómo aprovechar el poder de los datos adoptando un enfoque pragmático de sus conceptos, herramientas, soluciones e iniciativas. Se trata de un proyecto muy ambicioso, sin duda, pero su objetivo es ir más allá...
¿A quién va dirigido este libro?
Como habrá deducido, este libro está dirigido a todo aquel que quiera adoptar un enfoque pragmático de los datos. Estudiantes, ingenieros de datos, científicos de datos, desarrolladores, gestores de proyectos, CDO (Chief Data Officers) y cualquiera que desee comprender y procesar mejor los datos, encontrará en este manual las claves para entender y dominar mejor este nuevo oro negro.
Por supuesto, este enfoque de los datos no pretende ser exhaustivo. Algunos incluso dirán que no se entra con el suficiente detalle, y tendrían razón, porque el principio rector de este libro es realmente ofrecer una guía práctica, una base sólida para comprender mejor el mundo de los datos.
En este libro se utiliza el lenguaje Python para ilustrar determinados conceptos o ejemplos. Sin duda, es uno de los lenguajes más apropiados para la gestión de datos, si no el más común. Sin embargo, aquellos que no estén familiarizados con este lenguaje no se deben preocupar, ya que conocerlo no es en absoluto un requisito previo para leer este libro.
Para terminar y permitirle, por fin, sumergirse en este maravilloso mundo de los datos, cabe añadir que muchos de los detalles de ciertos conceptos presentados en este libro, obviamente se pueden poner en tela de juicio. De hecho, algunos de los conceptos o arquitecturas mencionados o explicados...