Opcions d'impressió

Mida
Compacta · 9 pt Normal · 10,5 pt Gran · 12,5 pt
Els meus apunts
No imprimir-los Incloure'ls a cada paràgraf

El navegador numera les pàgines des del seu propi quadre d'imprimir: activa-ho allà si les vols.

Els requadres grisos només surten si deixes marcada la casella «Gràfics de fons» del quadre d'imprimir.

opos

Arquitectura de dades

Arquitectura de dades

Elaboració pròpia: la font és de pagament i no es reprodueix

Enunciat oficial. Arquitectura de dades. Data warehouse, data lake i data lakehouse.


1. OLTP i OLAP

OLTP (Online Transaction Processing) OLAP (Online Analytical Processing)
Finalitat operar el negoci analitzar el negoci
Operacions insercions, actualitzacions i esborrats freqüents i curts consultes complexes d'agregació sobre grans volums
Model normalitzat (3FN) desnormalitzat (estrella, floc de neu, cub)
Dades actuals i detallades històriques i agregades
Usuaris molts, concurrents, operatius pocs, analistes i direcció
Optimització escriptura i integritat lectura i agregació

Cub OLAP: estructura multidimensional on les dades s'organitzen per dimensions (temps, territori, servei) i mesures (imports, comptadors). Quan les dades s'estructuren en un cub OLAP, el model de base de dades al qual ens referim és el multidimensional, no el relacional ni el jeràrquic. Operacions típiques: roll-up (agregar), drill-down (desagregar), slice (fixar una dimensió), dice (subcub) i pivot.

Variants del cub: MOLAP (Multidimensional OLAP: matriu pròpia, ràpid, menys escalable), ROLAP (Relational OLAP: sobre taules relacionals, escalable, més lent) i HOLAP (Hybrid OLAP).


2. El magatzem de dades (data warehouse)

Definició de Bill Inmon: col·lecció de dades orientada a un tema, integrada, no volàtil i variant en el temps, destinada a donar suport al procés de presa de decisions de la direcció. Aquestes quatre característiques cauen literalment.

2.1 Arquitectures

2.2 Modelatge dimensional

2.3 ETL i ELT

ETL (Extract, Transform, Load): procés d'extracció de dades de les fonts d'origen, transformació —neteja, normalització, deduplicació, enriquiment, agregació i aplicació de regles de negoci— i càrrega al magatzem de destinació. És el mecanisme que fa possible integrar dades heterogènies en un model coherent, i el que consumeix la major part de l'esforç d'un projecte de BI (Business Intelligence, intel·ligència de negoci — desenvolupat a tic/analitica-de-datos-y-business-intelligence).

ELT (Extract, Load, Transform): s'extreu, es carrega en brut i es transforma dins del sistema destinació, aprofitant-ne la potència de càlcul. És el model dominant al núvol i als data lakes.

Eines: Talend, Pentaho, Informatica i SSIS (SQL Server Integration Services) per a l'ETL clàssic; dbt per a la transformació ELT; Apache Airflow per a l'orquestració.

Captura de canvis (CDC, Change Data Capture): replicació incremental llegint el registre de transaccions (Debezium, GoldenGate) en lloc de fer extraccions completes.


3. El llac de dades (data lake)

Definició: repositori centralitzat que permet emmagatzemar dades a qualsevol escala en el seu format natiu i sense estructura predefinida —estructurades, semiestructurades i no estructurades—, per processar-les i analitzar-les quan calgui.

Objectiu principal en l'ecosistema de Big Data: centralitzar dades de fonts i formats diversos en brut, sense pèrdua d'informació ni transformació prèvia, per explotar-les després amb finalitats no conegudes en el moment de la captació —analítica avançada, ciència de dades i entrenament de models.

La diferència clau amb el magatzem és quan s'aplica l'esquema: el magatzem l'exigeix abans de carregar (schema-on-write) i per això només hi entra dada curada; el llac l'aplica en llegir (schema-on-read) i per això hi cap la dada bruta de qualsevol format. La resta de diferències en surten, i van comparades amb el lakehouse al §8.

Zones d'un data lake, l'arquitectura medalló: bronze/raw (ingesta en brut), silver/curated (netejada i conformada) i gold/consum (agregada i modelada per a l'ús).

Tecnologies: emmagatzematge d'objectes (S3 (Simple Storage Service, Amazon), Azure Data Lake Storage, Google Cloud Storage, MinIO, HDFS (Hadoop Distributed File System)), formats columnars (Parquet, ORC (Optimized Row Columnar), Avro) i motors de processament.

El substrat d'un llac és l'emmagatzematge d'objectes, no el bloc ni el fitxer (→ tema 56), i no per casualitat: la dada és un objecte —contingut més metadades— amb una clau i sense jerarquia de directoris, així que s'hi pot abocar qualsevol format sense decidir abans on encaixa, que és la condició material del schema-on-read; escala sense límit pràctic i costa molt menys per TB (terabyte) que el bloc; i separa l'emmagatzematge del còmput, perquè les dades es queden quietes i els motors s'aixequen a sobre. El revers és que l'objecte és immutable —es reescriu sencer, no s'hi modifica una fila—, i per això un llac «pelat» no sap fer UPDATE ni DELETE: és la mancança que resolen els formats de taula del §4 i la que fa problemàtic el dret de supressió del §7. La immutabilitat com a defensa contra el ransomware és matèria de les còpies de seguretat (→ tema 57).

Apache Spark és el motor de processament de dades habitualment utilitzat en entorns de data lake per analitzar grans volums de dades de manera distribuïda. Substitueix MapReduce de Hadoop amb un model en memòria molt més ràpid, i ofereix Spark SQL, Structured Streaming, MLlib i GraphX. Alternatives: Flink (flux real), Trino (consulta federada) i Hive (SQL sobre HDFS).

3.1 Dades estructurades, semiestructurades i no estructurades

La distinció no és el format del fitxer, sinó on viu l'esquema: és el que separa el que pot entrar en un magatzem del que necessita un llac.

Estructurades Semiestructurades No estructurades
Esquema fix i previ, separat de la dada implícit i dins de la dada (etiquetes, claus) cap
Exemples taules relacionals, CSV (Comma-Separated Values), full de càlcul JSON, XML (eXtensible Markup Language), registres d'activitat text lliure, correu, imatge, àudio, vídeo, PDF escanejat
Consulta SQL directe cal recórrer l'estructura o aplanar-la cal extreure'n abans característiques o text
On encaixa magatzem de dades, OLTP documental NoSQL, llac llac, emmagatzematge d'objectes

Semiestructurada no vol dir «a mitges»: la dada porta l'esquema a dins, i per això dos registres del mateix conjunt poden tenir camps diferents —el que fa idònia una documental (§5.2) i el que un esquema relacional fix no tolera—. I el gruix de la informació d'una organització és no estructurada, justament la que un magatzem no pot admetre: aquest és el buit que va justificar el llac.


4. El lakehouse

Definició: arquitectura que combina la flexibilitat i el cost de l'emmagatzematge del data lake amb les garanties transaccionals, l'esquema i el rendiment del data warehouse, sobre una única còpia de les dades.

Com ho aconsegueix: amb formats de taula oberts que afegeixen una capa de metadades transaccional sobre els fitxers Parquet de l'emmagatzematge d'objectes:

Què hi perds: maduresa desigual, complexitat operativa i dependència de l'ecosistema triat.

Arquitectura medalló i lakehouseLes dades travessen tres zones dins del data lake. El que el converteix en lakehouse és un format de taula obert — Delta, Iceberg o Hudi — que val per a les tres.format de taula obert(Delta / Iceberg / Hudi)= LakehouseBronzerawBI i MLFontsGoldconsumSilvercuratedIngesta


5. Bases de dades: relacionals i NoSQL

5.1 Relacionals (SQL)

Model de taules amb files i columnes, esquema fix, relacions per claus foranes, llenguatge SQL i garanties ACID. Productes: Oracle, SQL Server, PostgreSQL, MySQL/MariaDB, DB2 (DataBase 2, IBM).

Adequades quan: integritat referencial i transaccional és crítica, l'esquema és estable, les consultes són complexes i relacionals, i hi ha requisits de compliment i auditoria. És el cas de la immensa majoria de sistemes de tramitació administrativa.

SQL (Structured Query Language, llenguatge de consulta estructurat), normalitzat a la ISO/IEC 9075 (IEC: International Electrotechnical Commission), es divideix en dos blocs d'operacions: DDL (Data Definition Language, llenguatge de definició de dades) —crear i modificar l'estructura de les taules (CREATE, ALTER, DROP)— i DML (Data Manipulation Language, llenguatge de manipulació de dades) —consultar, inserir, actualitzar i esborrar registres (SELECT, INSERT, UPDATE, DELETE)—. El que queda fora d'SQL: la programació i gestió automàtica de còpies de seguretat és una tasca d'administració del SGBD (Sistema de Gestió de Bases de Dades), no una operació del llenguatge.

5.2 NoSQL

Diferència fonamental amb les relacionals: les NoSQL no imposen un esquema fix ni el model relacional de taules; estan dissenyades per a l'escalabilitat horitzontal (afegir nodes) i per a dades semiestructurades o no estructurades, sacrificant sovint la consistència forta a canvi de disponibilitat i tolerància a particions.

Quatre famílies:

Família Model Quan Exemples
Clau-valor parells clau → valor opac accés extremament ràpid per clau i escalat horitzontal senzill: cachés, sessions, configuració Redis, DynamoDB, Memcached
Documental documents autocontinguts, normalment JSON (JavaScript Object Notation), amb estructura flexible i imbricada emmagatzema cada registre com un document complet amb la seva pròpia estructura, que pot variar entre documents i contenir dades imbricades, sense esquema comú MongoDB, CouchDB, Elasticsearch
Columnar (wide-column) files amb famílies de columnes disperses escriptura massiva, sèries temporals, grans volums Cassandra, HBase, Bigtable
De grafs nodes i arestes amb propietats relacions complexes: xarxes, fraus, recomanació Neo4j, JanusGraph, Amazon Neptune

Avantatge principal del model clau-valor: rendiment i simplicitat — l'accés per clau és directe i escala horitzontalment. Inconvenient: no permet consultar pel contingut del valor.

Quan triar NoSQL davant d'una relacional: si una administració local vol explotar en mode Big Data els milions de registres d'una xarxa de sensors IoT (Internet of Things) distribuïda pel municipi —sense esquema fix i creixent sense parar—, el sistema gestor amb millors prestacions de rendiment i capacitat és una documental com MongoDB, que escala horitzontalment; no MySQL, MariaDB ni PostgreSQL, pensades per escalar verticalment sobre un esquema estable.

Teorema CAP (Brewer): un sistema distribuït no pot garantir simultàniament Consistència, Disponibilitat i Tolerància a particions; en presència de particions cal triar entre C i A. BASE (Basically Available, Soft state, Eventual consistency) és l'alternativa a ACID en aquests entorns.

5.3 Bases de dades en microserveis

Cada microservei ha de tenir la seva pròpia base de dades independent (database per service); l'antipatró és compartir-ne una entre tots els serveis. El patró i les seves conseqüències —consistència eventual, patró Saga— es despleguen a tic/arquitectura-de-microservicios. El que en toca aquí és la polyglot persistence: cada servei tria el tipus de base de dades que s'ajusta a les seves dades, no un motor únic imposat a tots.

5.4 Altres

De sèries temporals (InfluxDB, Prometheus), vectorials (pgvector) per a IA (Intel·ligència Artificial) i cerca semàntica, NewSQL (CockroachDB) amb ACID i escalabilitat horitzontal, i en memòria (SAP HANA (High-performance ANalytic Appliance), Redis) → tema 50.


6. Big data i processament

Les V del Big Data — la formulació clàssica són quatre: Volum, Velocitat, Varietat i Veracitat. Sovint s'hi afegeix el Valor (cinc V) i, en algunes formulacions, Variabilitat i Visualització. Quan una pregunta demana «les 4 V», la resposta és volum, velocitat, varietat i veracitat.

L'objectiu fonamental del Big Data és extreure valor de les dades: convertir-les en informació útil per a les decisions de negoci.

Arquitectures de processament:


7. Al sector públic

7.1 La ingesta de dades IoT: el cas Sentilo

Sentilo és una plataforma de codi obert per gestionar sensors i actuadors de ciutat: recull informació de sensors actius repartits per la ciutat i en recopila i comparteix les dades en temps real. La va desenvolupar l'Ajuntament de Barcelona, a través de l'IMI (Institut Municipal d'Informàtica), i la van adoptar altres ciutats i administracions. Va guanyar l'Open Awards 2016 com a plataforma més innovadora desenvolupada amb programari lliure.

La norma UNE (Una Norma Espanyola) 178104 —interoperabilitat de les plataformes de ciutats intel·ligents— proposa un model de capes: la capa d'adquisició (la baixa), que recull les dades dels sensors i actuadors; per sobre, la capa d'interoperabilitat, que n'exposa l'accés amb seguretat; i la capa de coneixement, que transforma la dada en informació abans d'arribar a la de dades obertes. Sentilo forma part de la capa d'adquisició: és l'origen de la ingesta, no la capa de coneixement ni la d'OpenData.

Fins on arriba aquest tema. Aquí la ingesta interessa com a primera baula de l'arquitectura de dades: d'on ve la dada, en quina capa entra i on aterra. La connectivitat que la porta fins a la plataforma —les xarxes LPWAN (Low-Power Wide-Area Network) com LoRaWAN, el protocol de missatgeria MQTT (Message Queuing Telemetry Transport) i l'edge computing, que preprocessa a prop del sensor— és matèria de xarxes (→ tema 62), igual que la definició d'Internet de les coses.

La seqüència d'una aplicació smart city encadena tres paradigmes, i cadascun alimenta el següent: primer IoT —captar les dades dels sensors (Sentilo)—; després Big Data —manegar-ne el volum, de l'ordre de terabytes, amb les eines de la §6—; i finalment BI —convertir-les en informació per decidir.


8. Les tres generacions: com hem arribat aquí

No són tres opcions del catàleg: són tres generacions, i cadascuna neix del defecte que la seva predecessora no podia resoldre. Saber quin resol cadascuna és el que permet contestar quan l'enunciat descriu un problema en lloc de nomenar l'arquitectura.

El data mesh no és la quarta: no canvia la tecnologia sinó qui és el propietari de la dada, i es pot muntar damunt d'un lakehouse (→ tema 34, que també hi contraposa el data fabric).

Data warehouse Data lake Lakehouse
Esquema schema-on-write schema-on-read schema-on-read amb esquema aplicat i evolutiu
Dades estructurades i curades qualsevol format, en brut totes dues, en una sola còpia
Transaccions ACID cap ACID pel format de taula obert
Format propietari del fabricant fitxers oberts (Parquet, ORC, Avro) obert (Delta, Iceberg, Hudi)
Cost per TB (terabyte) alt baix (objectes) baix
Còpies una una, i se'n copia al magatzem una de sola
Usuaris analistes de negoci (BI) científics de dades tots dos
Risc rigidesa i cost data swamp maduresa i complexitat

Govern i qualitat no són el mateix, i cap arquitectura els substitueix: el govern de les dades decideix qui mana sobre cada dada; la qualitat de les dades mesura com és de bona. Un llac sense govern és el que es converteix en data swamp. Totes dues, al → tema 31.


Claus d'examen

Per recordar

Fonts d'aquest tema