Solucionari — Questionari inicial Mòdul 5075
Ús intern del docent — no publicar als alumnes.
Pregunta 1
Quina diferència hi ha entre un Data Lake i un Data Lakehouse? Per qué Delta Lake és considerat un "game changer"?
Un Data Lake emmagatzema dades en brut en qualsevol format (estructurat, semiestructurat, no estructurat) sense esquema definit, però pateix el problema del "data swamp": dificultat per garantir qualitat, transaccions ACID i consultes eficients. Un Data Lakehouse combina la flexibilitat del Data Lake amb les capacitats de gestió d'un Data Warehouse (transaccions ACID, esquema, control de versions). Delta Lake és considerat un "game changer" perquè afegeix una capa de metadades transaccionals (transaction log) sobre fitxers Parquet al sistema de fitxers distribuït, habilitant operacions ACID, time travel, schema enforcement i upserts (MERGE) sense necessitat d'un motor separat, convertint un simple bucket S3 o HDFS en un Lakehouse funcional.
Pregunta 2
Explica amb les teves paraules qué és Change Data Capture (CDC). Per qué és útil per a la ingestió incremental de dades?
Change Data Capture (CDC) és una tècnica que detecta i captura els canvis (insercions, actualitzacions i esborrats) produïts en una base de dades font en temps quasi real, en comptes de llegir la taula sencera cada vegada. Normalment es basa en el transaction log de la base de dades (per exemple, el binlog de MySQL o el WAL de PostgreSQL). És molt útil per a la ingestió incremental perquè redueix dràsticament el volum de dades transferit, minimitza la càrrega sobre el sistema font, i permet mantenir els sistemes destí sincronitzats amb latència baixa. Eines com Debezium implementen CDC i publiquen els canvis a Kafka perquè els consuments els processin.
Pregunta 3
Qué és HDFS Federation? Per qué una sola instància de NameNode pot ser un coll d'ampolla en clústers molt grans?
HDFS Federation és una arquitectura que permet tenir múltiples NameNodes independents en un mateix clúster HDFS, cadascun gestionant un espai de noms (namespace) diferent però compartint els mateixos DataNodes. El problema d'una sola instància de NameNode és que tota la metainformació del sistema de fitxers (inodes, blocs, permisos) resideix en memòria RAM d'un únic node: en clústers amb centenars de milions de fitxers, aquesta memòria es converteix en un límit físic insuperable. A més, tot el trànsit de metadades passa per un sol punt, creant un single point of failure i un coll d'ampolla de rendiment. La federació soluciona ambdós problemes repartint els espais de noms entre diversos NameNodes.
Pregunta 4
Qué és Great Expectations? Quin problema de Data Engineering resol?
Parquet és un format columnar: emmagatzema les dades agrupades per columna, cosa que permet comprimir molt bé i llegir únicament les columnes necessàries per a una consulta analítica. És ideal per a càrregues de treball OLAP on s'agreguen poques columnes sobre moltes files. Avro és un format orientat a files amb esquema embegut (en JSON), dissenyat per a la serialització i transmissió de registres complets. S'usa principalment en streaming i missatgeria (Kafka) quan cal llegir o escriure el registre sencer, garantir compatibilitat d'esquema entre productors i consumidors, o quan el cas d'ús és ingerir dades una per una. En resum: Parquet per a emmagatzematge analític, Avro per a transport i streaming.
Pregunta 5
Qué és Great Expectations? Quin problema de Data Engineering resol?
Great Expectations és una biblioteca open-source de Python per a la validació, documentació i perfilat de dades. Permet definir "expectatives" (assertions declaratives) sobre les dades, com ara que una columna no tingui nuls, que els valors estiguin dins d'un rang, o que segueixi un patró determinat. Resol el problema de la qualitat de dades en pipelines de producció: sense validació automatitzada, les dades corruptes, incompletes o fora de rang poden propagar-se silenciosament fins als sistemes analítics o models de ML, causant decisions incorrectes. Integrat en un pipeline (Airflow, Spark, dbt), Great Expectations actua com a "porta de qualitat" que atura l'execució si les dades no compleixen els criteris definits.
Pregunta 6
Explica el concepte de "data lineage". Per qué és important saber d'on ve cada dada en un sistema complex?
El data lineage (llinatge de dades) és la traçabilitat completa del cicle de vida d'una dada: d'on prové, quines transformacions ha sofert, quins sistemes l'han processat i on ha acabat. En un sistema complex amb desenes de pipelines i transformacions encadenades, saber el llinatge és essencial per a diverses raons: permet depurar errors localitzant en quin pas s'ha introduït un valor incorrecte, facilita el compliment regulatori (RGPD) demostrant l'origen i tractament de dades personals, ajuda a avaluar l'impacte d'un canvi en un sistema font sobre tots els informes derivats, i incrementa la confiança dels analistes en les dades. Eines com Apache Atlas, OpenLineage o Marquez n'automatitzen el registre.
Pregunta 7
Qué és dbt (data build tool)? Com s'integra en un pipeline ELT modern?
dbt (data build tool) és una eina de transformació de dades que permet als analistes i enginyers escriure transformacions SQL com a models versionats en Git, amb dependències entre ells, tests de qualitat i documentació automàtica. S'integra en el patró ELT ocupant la fase de "Transform": un orquestrador (Airflow) o una eina d'ingestió (Fivetran, Airbyte) carrega les dades en brut al Data Warehouse (Snowflake, BigQuery, Redshift), i llavors dbt executa els models SQL que les transformen en taules i vistes analítiques. Aporta pràctiques d'enginyeria de programari (tests, CI/CD, documentació) al món de les transformacions SQL, que tradicionalment mancaven de rigor de codi.
Pregunta 8
Qué és el RGPD i com afecta als sistemes Big Data? Qué significa el "dret a l'oblit" en el context d'un Data Lake?
El RGPD (Reglament General de Protecció de Dades) és la normativa europea que regula el tractament de dades personals. En sistemes Big Data implica obligacions com la minimització de dades recollides, el consentiment explícit, la notificació de bretxes de seguretat i la capacitat de demostrar el llinatge. El dret a l'oblit (article 17 RGPD) obliga a eliminar totes les dades d'un individu a petició seva, cosa que en un Data Lake és tècnicament complexa: les dades poden estar en fitxers Parquet immutables, còpies de seguretat, logs de CDC o taules particionades. Les solucions passen per pseudonimització (les dades reals es guarden en una taula de claus que s'esborra), o per usar les capacitats de DELETE de Delta Lake/Apache Iceberg que reescriuen els fitxers afectats eliminant les files de l'individu.
Pregunta 9
Explica qué és Prometheus i qué és Grafana. Quina relació hi ha entre ells?
Prometheus és un sistema de monitoratge i base de dades de sèries temporals open-source que recull mètriques de serveis i aplicacions mitjançant scraping HTTP en intervals configurables (model pull). Emmagatzema les mètriques amb etiquetes clau-valor i ofereix un llenguatge de consulta propi (PromQL). Grafana és una plataforma de visualització i observabilitat que permet crear dashboards interactius a partir de múltiples fonts de dades. La relació entre ells és de font-visualitzador: Prometheus actua com a backend de mètriques i Grafana el consulta via PromQL per representar gràficament l'evolució de CPU, memòria, consumer lag de Kafka, latència de pipelines, etc. Junts formen el stack de monitoratge estàndard en entorns cloud-native i Big Data.
Pregunta 10
Qué és Apache Airflow? Qué és un DAG en el context d'Airflow?
Apache Airflow és una plataforma open-source d'orquestració de workflows que permet definir, planificar i monitorar pipelines de dades com a codi Python. Un DAG (Directed Acyclic Graph, graf acíclic dirigit) és la unitat bàsica d'Airflow: un conjunt de tasques amb dependències entre elles representades com un graf on els nodes són tasques (operators) i les arestes indiquen l'ordre d'execució. "Acíclic" significa que no hi pot haver cicles (una tasca no pot dependre d'ella mateixa ni crear dependències circulars). Cada DAG s'executa segons una planificació (cron o interval), i Airflow en gestiona les execucions, reintents, alertes i l'historial visual mitjançant la seva interfície web.
Pregunta 11
Per qué el consumer lag de Kafka és una mètrica important? Qué indica quan és molt elevat?
El consumer lag de Kafka és la diferència entre l'offset del darrer missatge produït en una partició i l'offset del darrer missatge processat pel consumer group. És una mètrica crítica perquè indica si els consumidors poden seguir el ritme dels productors. Quan el lag és molt elevat, significa que els consumidors van molt enrere respecte als productors: el sistema acumula un deute de processament creixent. Això pot traduir-se en alta latència en la disponibilitat de les dades, risc de perdre missatges si superen el perióde de retenció del topic, i símptoma d'un consumidor lent, sobrecarregat o amb errors. En pipelines de streaming en temps real, un lag elevat i creixent és un senyal d'alarma que requereix atenció immediata (escalar consumidors, optimitzar el processament o augmentar les particions).
Pregunta 12
Qué és el Data Mesh? Com difereix de l'arquitectura centralitzada de dades?
El Data Mesh és un paradigma arquitectural i organitzatiu proposat per Zhamak Dehghani que descentralitza la propietat de les dades: en comptes d'un equip central de dades responsable de tots els pipelines, cada domini de negoci (vendes, logística, finances) és responsable dels seus propis productes de dades (data products), que ofereix als altres dominis com a servei. Els quatre principis del Data Mesh són: propietat distribuïda per dominis, dades com a producte, infraestructura self-service, i governança federada. Difereix de l'arquitectura centralitzada (Data Lake o DWH gestionats per un sol equip) perquè elimina el coll d'ampolla del equip central, millora l'alineació entre el negoci i les dades, i escala millor en organitzacions grans, tot i que requereix major maduresa organitzativa.
Pregunta 13
Qué és DuckDB? Per qué ha revolucionat l'anàlisi de dades en local des del 2023?
DuckDB és un sistema de gestió de bases de dades analític (OLAP) embegut, sense servidor, dissenyat per executar consultes SQL analítiques directament sobre fitxers locals (Parquet, CSV, JSON) o en memòria amb un rendiment sorprenent en hardware convencional. Ha revolucionat l'anàlisi local perquè permet fer consultes complexes sobre gigabytes de dades en segons des d'un portàtil, sense necessitat de desplegar cap clúster ni servei extern, integrant-se directament amb Python (pandas, Polars) i notebooks Jupyter. La seva arquitectura columnar vectoritzada l'ha fet competitiu amb solucions de clúster per a datasets que caben en disc local, democratitzant l'anàlisi de Big Data i reduint dràsticament la complexitat operacional per a casos d'ús analítics individuals o de petits equips.
Pregunta 14
Explica la diferència entre ETL i ELT. Quin s'usa més en arquitectures cloud modernes i per qué?
ETL (Extract, Transform, Load) és el procés tradicional on les dades s'extreuen de la font, es transformen en un motor intermedi (per exemple, un servidor ETL propi) i s'eleven ja netes al destí. ELT (Extract, Load, Transform) inverteix l'ordre: les dades en brut es carreguen primer al destí (Data Warehouse o Data Lake) i les transformacions s'executen allà mateix aprofitant la seva potència de còmput. En arquitectures cloud modernes s'usa predominantment ELT perquè els Data Warehouses cloud (BigQuery, Snowflake, Redshift) disposen de capacitat de còmput elàstica i econòmica, és més senzill preservar les dades en brut per auditoria i reprocessament, i eines com dbt han fet que escriure transformacions SQL en el propi DWH sigui ràpid i mantenible sense infraestructura addicional.
Pregunta 15
Qué és Metabase? Quines diferències té amb Power BI en termes de cost i flexibilitat?
Metabase és una eina de Business Intelligence open-source que permet crear dashboards, gràfics i consultes ad-hoc sobre bases de dades, amb una interfície amigable que no requereix coneixements SQL per a usuaris bàsics (mode de preguntes en llenguatge natural) però que permet SQL avançat per a usuaris tècnics. Les diferències principals amb Power BI són: Metabase és gratuït en la versió self-hosted (cost de servidor) i open-source, mentre que Power BI té llicències per usuari (Pro ~10$/mes) o capacitat Premium molt elevada; Metabase s'integra directament sobre bases de dades SQL sense necessitat d'importar dades, mentre que Power BI té el seu propi motor de dades (Vertipaq) i connectors propietaris; i Metabase és multiplataforma i fàcil de desplegar en Linux/Docker, mentre que Power BI Desktop és exclusiu de Windows.
Pregunta 16
Qué és Apache NiFi? En qué es diferencia de Kafka Connect?
Apache NiFi és una plataforma d'integració de dades amb interfície visual de flux de dades (dataflow) que permet dissenyar pipelines d'ingestió, transformació i enrutament de dades entre sistemes heterogenis (bases de dades, APIs REST, fitxers, cues de missatgeria) arrossegant i connectant processadors en un canvas web. Ofereix control fi del flux, provenance (traçabilitat de cada registre), throttling i suport per a protocols molt diversos. Kafka Connect és un framework específicament dissenyat per connectar Kafka amb sistemes externs mitjançant connectors estandarditzats (source i sink), és molt eficient per a fluxos de dades cap a o des de Kafka, però no té la flexibilitat de transformació visual de NiFi. En resum: NiFi és una solució d'integració general i visual; Kafka Connect és especialitzat i eficient per a l'ecosistema Kafka.
Pregunta 17
Qué significa "time travel" en el context de Delta Lake? Quin cas d'ús resol?
El time travel (viatge en el temps) de Delta Lake és la capacitat de consultar versions anteriors d'una taula fent referència a un número de versió o a una marca de temps passada (per exemple SELECT * FROM taula VERSION AS OF 5 o TIMESTAMP AS OF '2025-01-01'). Això és possible gràcies al transaction log de Delta Lake, que registra cada operació (INSERT, UPDATE, DELETE, MERGE) i manté els fitxers Parquet antics fins que es fan operacions de VACUUM. Resol casos d'ús com: recuperar dades esborrades accidentalment, auditar l'estat de les dades en un moment específic (per a regulació o debugging), reproduir càlculs amb les dades que existien en una data concreta, i comparar resultats actuals amb estats anteriors per detectar deriva o errors en pipelines.
Pregunta 18
Qué és un SLA en el context de pipelines de dades? Posa un exemple concret.
Un SLA (Service Level Agreement, acord de nivell de servei) en el context de pipelines de dades és un compromís formal sobre la qualitat i disponibilitat del servei de dades: normalment expressat com un temps màxim de disponibilitat de les dades, una freqüència d'actualització garantida o un percentatge de temps de funcionament. Defineix les expectatives entre el proveïdor de dades (l'equip d'enginyeria) i els consumidors (analistes, sistemes de negoci). Un exemple concret: "El dashboard de vendes diàries ha d'estar actualitzat amb les dades del dia anterior abans de les 07:00h cada matí laborable, amb un màxim del 99% dels dies". Si el pipeline que l'alimenta falla o s'endarrereix i les dades no estan disponibles a les 07:00h, es produeix un incompliment del SLA que ha de ser registrat, comunicat i resolt.
Pregunta 19
Qué és el Modern Data Stack (MDS)? Enumera les eines típiques de cada capa.
El Modern Data Stack (MDS) és un conjunt d'eines cloud-natives, majoritàriament SaaS i modulars, que cobreixen tot el cicle de vida de les dades en una arquitectura ELT moderna. A diferència dels stacks tradicionals monolítics (Informatica + Oracle DWH), cada capa del MDS és substituïble independentment. Les capes típiques i les seves eines més habituals són:
- Ingestió/integració: Fivetran, Airbyte, Stitch (connectors gestionats cap al DWH)
- Emmagatzematge i còmput: Snowflake, Google BigQuery, Amazon Redshift, Databricks
- Transformació: dbt (data build tool)
- Orquestració: Apache Airflow, Prefect, Dagster
- Qualitat de dades: Great Expectations, Monte Carlo, Soda
- Catàleg i governança: DataHub, Alation, Collibra
- Visualització i BI: Looker, Metabase, Tableau, Power BI
Pregunta 20
Has sentit parlar de Power BI Copilot o ThoughtSpot? Qué creus que aporta la IA als sistemes de BI?
Power BI Copilot (Microsoft) i ThoughtSpot són exemples de sistemes de BI augmentats amb IA generativa que permeten als usuaris fer preguntes en llenguatge natural ("Quines van ser les vendes per regió el trimestre passat?") i obtenir automàticament gràfics, resums o informes sense necessitat de conèixer SQL ni l'estructura de les dades. La IA aporta als sistemes de BI diverses millores: democratitza l'accés a les dades per a usuaris no tècnics eliminant la dependència dels analistes per a consultes ad-hoc, accelera la generació d'informes i dashboards, pot detectar anomalies i tendències de forma proactiva sense que l'usuari les cerqui, i pot generar narratives explicatives automàtiques sobre les xifres. El repte és garantir la fiabilitat de les respostes (al·lucinacions en LLMs sobre dades numèriques) i la seguretat en l'accés a dades sensibles.