Seguim a la Part VII amb el Capítol 29: Plataformes de dades a AWS, on entrem en el món de les dades a gran escala: emmagatzemar, processar i analitzar enormes quantitats d’informació. Comencem pel concepte central de l’analítica moderna: el data lake (llac de dades), i com construir-lo a AWS amb tres serveis que treballen junts: S3 (magatzem), Glue (catàleg i processament) i Athena (consultes). És la base per extreure valor de les dades d’una empresa.

El problema: les empreses generen dades per tot arreu

Una empresa moderna genera moltíssimes dades, de fonts molt variades: vendes, registres del web, sensors, xarxes socials, aplicacions... i en formats diferents (taules, text, registres, arxius). Aquestes dades, ben aprofitades, són or: revelen patrons, ajuden a decidir, alimenten la intel·ligència artificial. Però hi ha un problema:

Dades disperses per tot arreu:
   vendes (en una base de dades)    registres web (en arxius de log)
   sensors (en streaming)           enquestes (en fulls de càlcul)
   → difícils d’ajuntar, analitzar i aprofitar de forma conjunta

Necessites un lloc on reunir totes aquestes dades i poder analitzar-les juntes. Aquest lloc és el data lake.

Què és un data lake

Un data lake (llac de dades) és un repositori central on guardes enormes quantitats de dades de qualsevol tipus i format, en la seva forma original, per analitzar-les quan vulguis. La idea: primer ho guardes tot (sense haver d’estructurar-ho prèviament), i decideixes com analitzar-ho després.

   Moltes fonts de dades
        │ (aboquen les seves dades)
        ▼
   ┌─────────────────────────────┐
   │      DATA LAKE              │  ← totes les dades juntes,
   │  (dades de tot tipus,       │    en el seu format original
   │   en el seu format original)│
   └─────────────────────────────┘
        │
        ▼ (analitzes quan i com vulguis)

Analogia: un data lake és com un gran magatzem/biblioteca on guardes TOT tal com arriba (documents, fotos, gravacions, dades...), sense haver de classificar-ho perfectament a l’entrada. L’avantatge és que ho tens tot en un lloc i, quan necessites respondre una pregunta, hi vas i ho analitzes. Es contraposa a un magatzem molt ordenat on només entra el que encaixa en prestatgeries predefinides (això seria més aviat un data warehouse, que veurem al subcapítol 29.3). El llac accepta tot; ja li donaràs forma quan ho necessitis.

💡 Llac vs magatzem: un data lake guarda dades en brut, de qualsevol tipus, i decideixes l’estructura en consultar-les («schema-on-read»). Un data warehouse (Redshift, subcap. 29.3) guarda dades ja estructurades i optimitzades per a consultes ràpides. Són complementaris; cadascun té el seu paper.

Les tres peces a AWS: S3, Glue i Athena

A AWS, un data lake es construeix típicament amb tres serveis que col·laboren:

S3: el magatzem del data lake

S3 (Capítol 5) és el lloc on es guarden les dades del data lake. Recorda les seves virtuts: emmagatzematge pràcticament il·limitat, molt barat, durador i que admet qualsevol tipus d’arxiu. És el lloc perfecte per abocar enormes quantitats de dades de qualsevol format. S3 és, literalment, el llac: el contenidor de totes les dades.

S3 = el magatzem del data lake (il·limitat, barat, qualsevol format)
   /vendes/...   /logs-web/...   /sensors/...   (tot junt a S3)

Glue: el catàleg i el processament

Tenir milions d’arxius a S3 no serveix de gaire si no saps què hi ha i on. AWS Glue resol això. Fa dues coses clau:

  • Cataloga les dades: descobreix quines dades hi ha al teu S3 i crea un catàleg (com un índex o inventari) que diu quina informació conté cada conjunt de dades, la seva estructura, etc. Així, les dades del llac es tornen localitzables i entenedores.
  • Processa i transforma les dades (ETL): permet netejar, transformar i preparar les dades (per exemple, convertir formats, ajuntar fonts), perquè estiguin llestes per analitzar.
Glue:
   📇 Cataloga  → crea un inventari de quines dades hi ha a S3 (les fa "trobables")
   🔧 Processa   → neteja i transforma les dades per deixar-les a punt

Analogia: Glue és com el bibliotecari del gran magatzem: recorre tot el que hi ha guardat, crea un catàleg (saps què hi ha i on trobar-ho) i, quan cal, prepara i organitza materials perquè els puguis fer servir. Sense el bibliotecari, el magatzem seria un caos impossible d’aprofitar.

Athena: consultar les dades directament

Amazon Athena et permet fer consultes (amb SQL) directament sobre les dades guardades a S3, sense haver-les de moure a una base de dades. Usant el catàleg de Glue, fas preguntes a les teves dades com si fossin una base de dades, i Athena les respon llegint directament de S3.

Athena: "SELECT ... " (SQL) directament sobre les dades a S3
   → respostes a les teves preguntes sense moure les dades enlloc
   → pagues només per les consultes que executes (serverless)

El potent: Athena és serverless (sense servidors per gestionar, recorda la filosofia del Capítol 14) i pagues només per les consultes que fas. És ideal per analitzar dades del llac de forma puntual i flexible.

Analogia: Athena és com poder fer-li preguntes directament a la biblioteca i obtenir respostes, sense haver de treure primer tots els llibres i portar-los a una altra sala. Li preguntes «quantes vendes hi va haver al març a Espanya?» i et respon consultant directament les dades on són (a S3).

Com treballen junts

El trio forma un data lake complet:

   Dades → S3 (es guarden: el llac)
              │
   Glue cataloga (saps què hi ha) i processa (prepara les dades)
              │
   Athena consulta amb SQL directament sobre S3 (obtenen respostes)

S3 guarda, Glue organitza i prepara, Athena consulta. Junts et permeten reunir totes les dades de la teva empresa i treure’n valor sense muntar infraestructura complexa.

Exemple del món real: una empresa de comerç vol analitzar el comportament dels seus clients ajuntant dades de vendes, navegació web i campanyes de màrqueting. Construeixen un data lake: aboquen totes aquestes dades a S3 (cada font a la seva carpeta). Glue recorre S3, cataloga què hi ha i prepara les dades (unifica formats, neteja). Després, els analistes fan servir Athena per preguntar amb SQL coses com «quins productes compren més els clients que van venir de tal campanya?», consultant directament sobre S3, sense muntar cap base de dades. Descobreixen patrons valuosos que abans, amb les dades disperses, eren invisibles. I tot serverless: paguen per l’emmagatzematge barat de S3 i per les consultes que executen, sense servidors per mantenir.

El que has de recordar

  • Les empreses generen moltíssimes dades disperses de fonts i formats variats; aprofitar-les requereix reunir-les en un lloc: el data lake.
  • Un data lake és un repositori central on guardes enormes quantitats de dades de qualsevol tipus, en el seu format original, per analitzar-les quan vulguis (ho guardes tot primer, decideixes com analitzar-ho després). Com un gran magatzem que accepta tot.
  • A AWS es construeix amb tres peces: S3 (el magatzem: il·limitat, barat, qualsevol format — és el llac), Glue (cataloga quines dades hi ha i les processa/preparael bibliotecari) i Athena (consulta amb SQL directament sobre S3, serverless — preguntar a la biblioteca).
  • Junts: S3 guarda, Glue organitza, Athena consulta, permetent treure valor de totes les dades sense infraestructura complexa.
  • 💡 Un data lake (dades en brut) es complementa amb un data warehouse (dades estructurades, Redshift, subcap. 29.3).

Al següent subcapítol veurem com capturar i processar dades que arriben en temps real, de forma contínua, amb Kinesis.

Cloud, AWS & Terraform — De zero a expert

Capítol 1 · Què és el cloud computing

Capítol 2 · El mercat cloud i els grans proveïdors

Capítol 3 · Regions, zones de disponibilitat i edge

Capítol 4 · Càlcul: EC2

Capítol 5 · Emmagatzematge: S3

Capítol 6 · Xarxes: VPC

Capítol 7 · Identitat i accés: IAM

Capítol 8 · Bases de dades gestionades

Capítol 9 · Per què Infraestructura com a Codi

Capítol 10 · HCL: el llenguatge de Terraform

Capítol 11 · Providers i estat

Capítol 12 · La teva primera infraestructura real amb Terraform

Capítol 13 · Balanceig de càrrega i autoescalat

Capítol 14 · Serverless amb Lambda

Capítol 15 · Missatgeria i esdeveniments

Capítol 16 · Lliurament de contingut i DNS

Capítol 17 · Contenidors a AWS

Capítol 18 · Mòduls: reutilització i composició

Capítol 19 · Workspaces i gestió d'entorns

Capítol 20 · Backends remots i locking

Capítol 21 · Testing d'infraestructura

Capítol 22 · Terraform en CI/CD

Capítol 23 · Seguretat en profunditat

Capítol 24 · Observabilitat: logs, mètriques i traces

Capítol 25 · Optimització de costos

Capítol 26 · Alta disponibilitat i disaster recovery

Capítol 27 · Well-Architected Framework d'AWS

Capítol 28 · Arquitectures serverless a escala

Capítol 29 · Plataformes de dades a AWS

Capítol 30 · Multi-compte i landing zones

Capítol 31 · Platform Engineering i Internal Developer Platform

Capítol 32 · Certificacions AWS rellevants

Capítol 33 · Projectes per consolidar el que s'ha après

Capítol 34 · Recursos i comunitat

© Copyright 2024. Tots els drets reservats