Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
En el mundo empresarial, en constante evolución, ha surgido un concepto cautivador conocido como ingeniería analítica. Rápidamente se convirtió en la comidilla de la ciudad, demandado por los directivos, presentado por las empresas de TI y admirado por los usuarios que se maravillaban de las posibilidades que ofrecía. Pero en medio del entusiasmo, muchos no sabían en qué consistía la ingeniería analítica. Pensaban que se trataba de crear canalizaciones de datos, diseñar visualizaciones asombrosas y utilizar algoritmos avanzados. Oh, ¡qué equivocados estaban!
Puedes imaginar este extraordinario mundo de la ingeniería analítica como un cruce entre el meticuloso investigador Sherlock Holmes, que representa el lado analítico, y el genial ingeniero Tony Stark, más conocido como Iron Man, que representa el lado de la ingeniería. Imagina la extraordinaria capacidad de resolución de problemas de Sherlock Holmes combinada con las tecnologías de perímetro de Iron Man. Esta combinación es lo que define el verdadero poder y potencial de la tecnología analítica.
Pero cuidado: si pensabas que la ingeniería analítica se limitaba a canalizaciones de datos y visualizaciones, te has perdido el profundo pensamiento deductivo que Sherlock Holmes, como representación de un analista de datos o de negocios, aporta a la ecuación. Este campo es donde la investigación analítica se cruza con las técnicas de un ingeniero de software o ingeniero de datos, representado por Tony Stark.
Párate un momento a pensar en la importancia de los datos en tu empresa. ¿Por qué los buscas? La respuesta está en la búsqueda del conocimiento. La tecnología analítica se utiliza para transformar los datos brutos en conocimientos procesables que sirvan de base para tomar decisiones informadas. Es un potente sistema de apoyo que proporciona hechos que iluminan la realidad de tu negocio. Sin embargo, no toma decisiones por ti, sino que te proporciona la información que necesitas para que tu negocio sea un éxito.
Antes de lanzarte a crear un impresionante traje de Iron Man de tecnologías analíticas, adopta la sabiduría de Sherlock Holmes. Utiliza su aguda capacidad de observación para identificar y comprender el núcleo de tus retos. Abstente de sucumbir al atractivo de las visualizaciones y los algoritmos sólo porque a otros les fascinen. Recuerda que la ingeniería analítica es algo más que tecnología: es una herramienta de gestión que sólo tendrá éxito si está alineada con las estrategias y objetivos de tu organización. Asegurarte de que tus indicadores clave de rendimiento están alineados con la realidad de tu negocio garantizará que los resultados de tus esfuerzos de ingeniería analítica son precisos, impactantes y no te decepcionarán.
La gran aventura de la ingeniería analítica no empieza con la construcción de pipelines de datos o la selección de algoritmos avanzados. No, amigo mío, empieza con una profunda introspección de las lagunas de conocimiento de tu organización. Averigua por qué es importante ese conocimiento y cómo puede aprovecharse para llevar a tu empresa al éxito. Utiliza el poder transformador de la analítica como tu brújula, señalando el camino hacia el éxito en medio del vasto mar de datos.
En tu búsqueda de la ingeniería analítica, recuerda siempre la historia de Sherlock Holmes. Evita construir un avión extravagante cuando bastaría con una humilde bicicleta. Deja que la complejidad del problema y sus matices contextuales guíen tus esfuerzos. Recuerda que la analítica no es sólo tecnología; es un faro de gestión, una herramienta inestimable que debe utilizarse con propósito y precisión. Deja que se convierta en tu compañera constante en el camino hacia el éxito.
Por qué escribimos este libro
En la actual era de abundancia de información, no es infrecuente que conocimientos, conceptos y técnicas vitales queden oscurecidos en medio del rápido crecimiento de la tecnología y la búsqueda incesante de la innovación. Durante esta transformación dinámica, a veces pueden pasarse por alto inadvertidamente varios conceptos esenciales. Este olvido no se debe a que pierdan relevancia, sino al rápido ritmo del progreso.
Uno de esos conceptos fundamentales que a menudo se deja de lado es el modelado de datos en el contexto de la gestión de datos. Cabe señalar que el modelado de datos abarca diversos enfoques, como el modelado Kimball, conceptual, lógico y físico, entre otros. Reconocemos la acuciante necesidad de destacar la importancia del modelado de datos en este panorama diverso, y esa es una de las razones clave por las que hemos elaborado este libro. En estas páginas, pretendemos arrojar luz sobre los entresijos y las diversas dimensiones del modelado de datos y cómo sustenta el campo más amplio de la ingeniería analítica.
Con el tiempo, la importancia del modelado de datos para garantizar un sistema sólido de gestión de datos ha ido desapareciendo de la conciencia general. Esto no se debe a que se haya quedado anticuado, sino más bien a un cambio en el enfoque de la industria. Han surgido nuevas palabras, herramientas y métodos que han restado importancia a los principios fundamentales. Se produjo una transición de las prácticas tradicionales a soluciones modernas que prometían rapidez y eficacia, lo que a veces provocó una pérdida de la solidez fundamental.
El auge de la ingeniería analítica provocó un resurgimiento. No se trataba sólo de una tendencia llena de palabras rebuscadas, sino también de una vuelta a lo básico, haciéndose eco de los principios del sector de la inteligencia empresarial. La diferencia es que ahora se dispone de herramientas, infraestructuras y técnicas modernas para aplicar estos principios con mayor eficacia.
Entonces, ¿por qué sentimos la necesidad de documentar nuestros pensamientos? Hay dos razones principales. En primer lugar, es crucial subrayar el valor y la importancia duraderos de conceptos bien establecidos como el modelado de datos. Aunque estas metodologías existen desde hace tiempo, proporcionan una base sólida para el desarrollo de técnicas modernas. Nuestra segunda intención es subrayar que la ingeniería analítica no es una entidad independiente, sino más bien una progresión natural del legado de la inteligencia empresarial. Integrando ambas, las organizaciones pueden construir una cadena de valor de datos más resistente, garantizando que sus datos no sólo sean extensos, sino también procesables, lo que en última instancia aumenta su utilidad.
Este libro no es sólo un viaje sentimental al pasado o un comentario sobre el presente. Es un anteproyecto para el futuro. Nuestro objetivo es ayudar a las organizaciones a revisar sus fundamentos, apreciar las ventajas de las tecnologías antiguas y nuevas, e integrarlas para lograr un enfoque integral de la gestión de datos. Profundizaremos en los detalles del modelado y la transformación de datos, explicaremos su importancia y examinaremos cómo interactúa con las modernas herramientas de ingeniería analítica. Nuestro objetivo es proporcionar a nuestros lectores una comprensión completa, que les permita reforzar sus procesos de gestión de datos y utilizar todo el potencial de sus datos.
A quién va dirigido este libro
Este libro está pensado para profesionales, estudiantes y entusiastas que se enfrentan al complejo mundo de la gestión de datos y la analítica. Tanto si eres un veterano experimentado que rememora los principios básicos del modelado de datos como si eres un aspirante a analista deseoso de comprender la transformación de la inteligencia empresarial a la ingeniería analítica contemporánea, nuestra narración asegura claridad y dirección.
Las organizaciones que deseen reforzar sus procesos de datos descubrirán un inmenso valor en la combinación de principios bien probados y herramientas modernas que se analizan en este libro. En resumen, si deseas aprovechar al máximo tus datos combinando los puntos fuertes del pasado con las innovaciones del presente, este libro te servirá de guía.
Cómo está organizado este libro
Hemos estructurado el libro en seis capítulos:
- Capítulo 1, "Ingeniería analítica"
-
Este capítulo traza la evolución de la gestión de datos desde los sistemas tradicionales basados en SQL hasta herramientas innovadoras como Apache Airflow y dbt, cada una de las cuales ha cambiado nuestra forma de manejar y ver los datos. El papel del ingeniero analítico tiende un puente entre la ingeniería de datos y la analítica, garantizando que nuestros conocimientos sean fiables y procesables. A pesar de los cambios en las herramientas y las funciones, la importancia y el valor de los datos siguen siendo primordiales. Sin embargo, persisten los retos, como la calidad de los datos y el almacenamiento eficiente, así como la optimización de los recursos informáticos para tareas como el equilibrio de carga en plataformas como Redshift o el diseño de trabajos eficientes con almacenes de tamaño adecuado en Snowflake. El modelado de datos, que implica estructurar los datos para reflejar escenarios del mundo real, es el núcleo de estas soluciones.
- Capítulo 2, "Modelado de datos para el análisis"
-
Este capítulo profundiza en el papel fundamental del modelado de datos en el panorama actual impulsado por el análisis. Investigaremos cómo ayuda a estructurar los datos para un análisis eficaz y exploraremos la importancia de la normalización de los datos para reducir la duplicidad. Aunque hacemos hincapié en la importancia de la normalización, cabe señalar que diversas metodologías de modelado, como Kimball y One Big Table, abogan por distintos enfoques, incluida la desnormalización, en función de casos de uso específicos. Comprendiendo estos principios básicos y teniendo en cuenta el espectro más amplio de metodologías de modelado, los analistas pueden explorar eficazmente los datos, garantizando perspectivas sustanciales y decisiones informadas. Sin un modelo de datos sólido, normalizado o desnormalizado según el contexto, el proceso analítico puede ser incoherente e impreciso.
- Capítulo 3, "SQL para análisis"
-
Este capítulo explora la perdurable fuerza de SQL como principal lenguaje analítico. Comenzaremos esbozando los fundamentos de las bases de datos y cómo SQL sirve como lenguaje principal para interactuar con las bases de datos. Nuestro viaje abarcará la utilidad de las vistas para agilizar las consultas, las potentes características de las funciones de ventana para cálculos avanzados y la flexibilidad de las expresiones comunes de tabla para refinar consultas complejas. También hablaremos del papel de SQL en el procesamiento de datos distribuidos y concluiremos con una emocionante aplicación de SQL en el entrenamiento de modelos de aprendizaje automático.
- Capítulo 4, "Transformación de datos con dbt"
-
Este capítulo proporciona una exploración detallada de dbt más allá de una introducción inicial. Examinaremos el papel crucial de dbt en el ciclo de vida del análisis de datos y demostraremos cómo transforma los datos brutos en modelos estructurados y accesibles. Nuestra exploración navegará por la estructura del proyecto dbt, abordando características como la construcción de modelos, la documentación y las pruebas, a la vez que proporciona una visión de los artefactos de dbt, incluidos los archivos YAML. Al final de este capítulo, tendrás un conocimiento exhaustivo de dbt, lo que te permitirá incorporarlo sin problemas a tus flujos de trabajo analíticos.
- Capítulo 5, "Temas avanzados de dbt"
-
En este capítulo, profundizaremos en los aspectos avanzados de dbt. Más allá de las simples vistas o tablas, hablaremos de la gama de materializaciones de modelos en dbt, incluido el uso de modelos efímeros, instantáneas de datos y la implementación de modelos incrementales para evitar las constantes cargas completas de datos. Además, elevaremos nuestro código analítico, centrándonos en optimizar su eficiencia con técnicas como Jinja, macros y paquetes para mantenerlo DRY (Don't Repeat Yourself). Por último, también introduciremos la capa semántica dbt, que desempeña el papel clave de actuar como puente entre los datos brutos y las percepciones significativas.
- Capítulo 6, "Construcción de un caso de uso de ingeniería analítica de extremo a extremo"
-
Este capítulo final consolida todo lo que has aprendido sobre ingeniería analítica utilizando dbt y SQL. Tras profundizar en los conceptos, técnicas y buenas prácticas de los capítulos anteriores, pasamos ahora a un enfoque práctico mediante la elaboración de un caso de uso completo de ingeniería analítica desde cero. Se aprovecharán las capacidades de dbt y SQL para diseñar, implementar y desplegar una solución analítica integral. El modelado de datos para diversos fines será el centro de atención. El objetivo es ilustrar un flujo de trabajo analítico holístico, que abarque desde la ingesta de datos hasta la elaboración de informes, fusionando los conocimientos de los capítulos anteriores. Durante este proceso, superaremos los retos predominantes y proporcionaremos estrategias para sortearlos con eficacia.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Utilizar ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://github.com/helder-russa/dbt-analytics-engineer.
Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a bookquestions@oreilly.com.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos la atribución, pero en general no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Ingeniería Analítica con SQL y dbt " de Rui Machado y Hélder Russa (O'Reilly). Copyright 2024 Rui Pedro Machado y Hélder Russa, 978-1-098-14238-4".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita https://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-889-8969 (en Estados Unidos o Canadá)
- 707-829-7019 (internacional o local)
- 707-829-0104 (fax)
- support@oreilly.com
- https://www.oreilly.com/about/contact.html
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/analytics-engineering-SQL-dbt.
Para noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.
Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media
Síguenos en Twitter: https://twitter.com/oreillymedia
Míranos en YouTube: https://youtube.com/oreillymedia
Agradecimientos
Quiero enviar un mensaje especial a mi mujer, Ana, y a mis dos maravillosas hijas, Mimi y Magui. Me inspiráis cada día a creer en mí mismo y a perseguir mis sueños sin descanso, porque lo que consigo para mí, lo consigo para nosotros. Sobre todo, quiero demostrar a mis hijas que todo es posible cuando nos lo proponemos. Por último, tengo que dar las gracias a Hélder, amigo y coautor, por mantener vivo este sueño y tener unos niveles de resiliencia que nunca antes había visto en nadie.
Quiero dar las gracias a mi (futura) esposa por estar siempre a mi lado. Su paciencia y sus palabras fueron mi roca en los momentos más difíciles. También, un agradecimiento especial a mis padres. Sin ellos y sus esfuerzos por permitirme continuar mis estudios y perseguir mis sueños, sin duda este libro no sería posible. De nuevo, mi más sincero agradecimiento a ellos. Por último, a todos mis amigos anónimos y no tan anónimos y al coautor, Rui, que estuvieron a mi lado con su positividad y sus comentarios constructivos, y enriquecieron sustancialmente el contenido de este libro.
Get Ingeniería analítica con SQL y dbt now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.