Seleccionar página

Sobre el libro: Fundamentals of Data Engineering

Fundamentals of Data Engineering. Un libro que abarca las bases para un desarrollador de Software dedicado a los datos, también conocido como Ingeniero de Datos o Data Engineer. Para un principiante es útil tener nociones de lo que puede enfrentar un data engineer, para los más experimentados, también es una reflexión repasando el rol y tener otra mirada.

El contenido del libro abarca por completo el ciclo de vida de los datos describiendo los pasos y distintos escenarios que pueden enfrentar. El libro no muestra ni explica tecnologías específicas, sino que provee herramientas para evaluar las tecnologías disponibles y comprender la importancia de los datos para una organización. 

 

Los fundamentos

El ciclo de los datos consta de 5 partes. La generación de datos, su ingesta, transformación, proveer datos y utilizar un almacén de datos. Es un estándar de flujo para los datos empresariales con pocas variaciones, y hay muchas tecnologías disponibles para la implementación. El libro describe en detalle cada parte del flujo de datos.

 

1. La fuente: generación de datos

Las organizaciones tienen muchas formas de obtener y generar datos. Pueden ser generados por aplicaciones internas, estar disponibles como datos públicos, otros son proveídos por empresas externas mediante un contrato o pago, e incluso algunos datos son editados y subidos manualmente. Cada fuente de datos tiene diferentes características como cantidad, calidad, esquema y cadencia de actualización.

Leyendo el libro repasamos los proveedores de datos y las diferentes formas en que los proveen. Siempre hay un equipo que mantiene la fuente de datos, donde las relaciones e interacción son vitales para asegurar una correcta entrega. La diplomacia es tan importante como el conocimiento técnico.

También es vital conocer las posibilidades y limitaciones de cada fuente. Por ejemplo, conectarse a una base de datos es muy diferente a leer archivos en google sheet.

 

2. Ingesta de datos

Los datos disponibles requieren procesos para obtenerlos. Entre las herramientas para extraer datos, algunas son sencillas y otras más complejas, así como hay de pago y gratuitas.

Los datos son extraídos desde diferentes fuentes y son almacenados en un mismo lugar. Aunque no es una obligación estandarizar los datos para que tengan el mismo formato, los siguientes pasos serán beneficiados o tendrán que incluir procesos extras. Por ejemplo, datos en un archivo que usa el formato separado por coma (CSV) requiere un proceso de extracción diferente al utilizado en el formato parquet. Idealmente después de la extracción, todos los datos siguen el mismo formato para evitar conversiones en los siguientes pasos.

Si conocemos los datos, podremos determinar la cadencia para obtener las actualizaciones. A medida que la sincronización se acerca más a los cambios de datos en vivo, se irá complejizando cada vez más la solución.

 

3. Transformación

Es el momento para consolidar las distintas fuentes de datos y crear modelos/tablas con estructuras confiables. Los datos se preparan para ser utilizados por distintas áreas. El área de Finanzas puede necesitar reportes de gastos de toda la compañía, el área Marketing puede descubrir cruzando datos donde están los potenciales clientes y otras unidades de la organización pueden hacer sus propios modelos de datos,  conocer el estado de la empresa y hacer otros descubrimientos.

En esta etapa los datos también son limpiados con procesos para corregir datos erróneos y duplicados. Las inconsistencias de las fuentes son arregladas o eliminadas con el fin de proveer información confiable y reutilizable para las distintas áreas de la empresa. Hay diferentes estrategias para transformar los datos y hacer que sean útiles.

 

4. Almacenamiento

Es donde ocurre la magia, todas las etapas usan un almacenamiento de datos. Son herramientas para analítica de datos que cuentan con capacidades para procesar y almacenar grandes cantidades de datos. Pero no siempre tuvimos disponibles herramientas modernas. El libro repasa la historia de tecnologías utilizadas para almacenar datos con sus costos, complejidades y posibilidades. 

El almacenamiento de datos ocurre en un Data Lake o Warehouse. Cada uno tiene diferentes funcionalidades extras, más allá de solo consultar, insertar, actualizar y eliminar datos. La dificultad para proveer datos en distintos las distintas etapas depende del warehouse utilizado. ¿El warehouse que utilizas incluye características para leer flujos de datos continuos?.

 

5. Servir los datos

Todos los interesados van a necesitar datos con calidad, actualizados y disponibles fácilmente. Los pasos anteriores se alinean a las necesidades de los clientes que usarán los datos. 

Estamos hablando de aplicaciones que quieren sus datos de vuelta después de haberlos enriquecido con diferentes fuentes. Los reportes y dashboard son utilizados para tomar decisiones y hay equipos de Machine Learning que se alimentan de muchísimos datos. Hay aplicaciones externas que se pueden conectar a un warehouse y obtener información que necesitan.

 

Las habilidades de un Data Engineer

Ya sea que quieras introducirte en el rol, aprenderlo o profundizar sobre el trabajo de un data engineer, en el libro encontrarás las habilidades, prioridades y principales preocupaciones que debe tener un data engineer.

Leyendo el libro revisarás las habilidades requeridas. A medida que una empresa sea más grande, habrá más data engineers distribuidos en distintas áreas en vez de pocos haciendo muchas cosas. Un equipo se puede dedicar a proveer la infraestructura de datos, otro en la ingesta y transformación, la disponibilidad y la calidad de datos pueden ser monitoreados por un equipo aparte, y algunas veces hay personas de datos que son parte de los equipos que desarrollan las aplicaciones. Los desarrolladores de Software están cada vez más cerca del área de análisis datos.

 

Visión organizacional sobre datos

Para una organización que necesita utilizar datos, el libro provee las bases sobre lo que tiene que realizar de acuerdo al nivel de madurez organizacional.

El libro provee una visión general sobre cómo la organización puede interactuar con los datos, utilizarlos y los deberes para cada rol. La consciencia sobre los datos de cada trabajador es imprescindible para proveer datos de calidad desde distintas fuentes y que todos tengan una idea sobre cómo los datos son proveídos para generar reportes.

 

Complejidad de los datos

Es por eso que tenemos herramientas para administrar los datos. Desde monitorear la calidad, hacer transformaciones y proveerlos. Encontrar errores en los datos es un dolor de cabeza cuando el dato erróneo ha sido generado y/o transformado múltiples de veces para llegar a ser servido a los consumidores que pueden ser aplicaciones, reportes y otros.

La seguridad es crítica. Las fugas de datos pueden ser increíblemente sensibles debido a la cantidad e importancia de datos existente en los almacenamientos.

 

Un área que sigue creciendo

Una gran cantidad de herramientas están apareciendo con soluciones para distintos problemas de datos. Nuevos roles están apareciendo y las organizaciones están cada vez más conscientes de los datos que generan y cómo usarlos para generar valor.

El libro también ayuda a reconocer las características de distintas herramientas y plataformas para tratar los datos, tener ideas sobre por qué ha sido creada y el problema que solucionan. ¿En qué casos sería bueno considerar una herramienta y no otra?. La elección de una tecnología específica está asociada al conocimiento general de lo que está disponible, las necesidades de la organización y algo de sabiduría. Los consejos en el libro para diferentes casos como comprar o construir tu propio software son necesarios para repasar y ayudan en decisiones más allá de la ingeniería de datos.

 

Documentation y links

Investigaciones, casos de uso, experiencias en otras compañías con sus problemas sobre datos, integraciones exitosas y fallidas. La documentación por sí sola es otro libro que complementa. Recomiendo que dediques tiempo a leer la documentación, las fuentes pueden ser encontradas en los links fácilmente. Los fundamentos se complementan con los casos de uso o explicaciones dadas en los documentos adicionales.

 

A lo largo del libro se repasan conceptos, descripciones y utilidades aplicables en el área de datos. Es una introducción necesaria para después profundizar y especializarse en una área específica en datos. Abarca las bases y lo necesario para conocer los diseños modernos para tratar los datos en una empresa.

Las bases para cualquier trabajo son imprescindibles para llegar a ser un experto o tener al menos un desempeño decente. El libro cumple con los fundamentos y avances para la ingeniería de datos en un área que pienso que los fundamentos con sus principios son más importantes que conocer una tecnología específica.

Hace algunos años las plataformas de datos eran mucho más complejas de configurar y utilizar. Los avances buscan cubrir cada problema y dificultades, ahora las herramientas son mucho más fáciles de utilizar. También nos encontramos con otras dificultades como disponibilizar los datos de manera fácil a muchos usuarios que no tienen conocimientos de software, pero si saben y han aprendido a tratar con datos, incluyendo herramientas de IA. 

Es uno de esos libros que en la segunda o tercera lectura continuarás aprendiendo, y más aún si lo complementas con experiencia trabajando.