Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Data Lake

Un data lake archivia dati grezzi in qualsiasi formato su un archivio di oggetti a basso costo e applica uno schema al momento della lettura. Scopri le differenze rispetto a data warehouse e lakehouse.

Un data lake è un repository centralizzato che archivia i dati nel loro formato nativo e grezzo, dalle esportazioni di database e dai log JSON a immagini, video, audio e documenti, di solito in uno storage di oggetti cloud a basso costo, e applica una struttura solo quando i dati vengono letti. James Dixon, allora direttore tecnico di Pentaho, coniò il termine nel 2010 per contrapporre un data mart, che paragonò ad acqua in bottiglia, filtrata e confezionata, a una grande massa di dati nel suo stato naturale da cui molti utenti possono attingere. Poiché non è necessario modellare i dati in anticipo, un lake può conservare tutto ciò che un'organizzazione raccoglie, caratteristica utile per il machine learning: i dati di addestramento per il modello di domani sono spesso dati grezzi, il cui utilizzo era ignoto al momento dell'archiviazione.

Come funziona un data lake#

Un lake separa lo storage dal calcolo. I file risiedono in uno storage di oggetti come Amazon S3, Google Cloud Storage o Azure Data Lake Storage, e motori come Spark e Trino o un processo Python li leggono direttamente, così ogni team può dimensionare autonomamente le proprie risorse di calcolo senza copiare i dati. I dati tabellari sono solitamente archiviati in formati colonnari aperti come Apache Parquet, mentre immagini e video restano file ordinari, spesso affiancati da manifesti JSON o Parquet che contengono metadati ed etichette.

La maggior parte dei lake è organizzata in zone in base al livello di elaborazione, secondo la cosiddetta architettura a medaglione di Databricks: una zona grezza (bronze) conserva i dati esattamente come sono arrivati, una zona ripulita (silver) contiene dati convalidati e deduplicati, e una zona selezionata (gold) contiene tabelle e dataset pronti per i report o l'addestramento. Un catalogo di metadati come AWS Glue Data Catalog, Hive Metastore o Unity Catalog registra il contenuto di ogni dataset, chi ne è responsabile e chi può leggerlo. Un lake senza quel catalogo e la pulizia dei dati si trasforma in una «palude di dati»: file che nessuno riesce a trovare, considerare affidabili o eliminare senza rischi.

Schema alla lettura#

Un lake applica uno schema quando i dati vengono letti: questo approccio si chiama schema alla lettura. I produttori possono caricare i dati non appena sono disponibili, anche quando due fonti non concordano sui campi, e ogni lettore decide quali colonne e tipi gli servono. Questo esempio scrive due file JSON grezzi con campi diversi, poi li legge entrambi usando un unico schema con Polars:

import json
from pathlib import Path

import polars as pl

# Zona grezza: due telecamere scrivono eventi di rilevamento come righe JSON, ciascuna con i propri campi
Path("lake/raw").mkdir(parents=True, exist_ok=True)
Path("lake/raw/dock-1.jsonl").write_text(json.dumps({"label": "forklift", "conf": 0.91}))
Path("lake/raw/dock-2.jsonl").write_text(json.dumps({"label": "person", "conf": 0.62, "lux": 120}))

# Schema alla lettura: questo lettore sceglie le colonne e i tipi quando interroga i file
schema = {"label": pl.String, "conf": pl.Float32, "lux": pl.Int32}
events = pl.scan_ndjson("lake/raw/*.jsonl", schema=schema, include_file_paths="source")
print(events.collect())

Il risultato contiene due righe con le colonne label, conf, lux e source. La prima telecamera non ha mai registrato lux, quindi il suo valore risulta null, mentre source indica il file grezzo di provenienza di ogni riga. Un secondo processo potrebbe leggere gli stessi file con uno schema diverso senza riscriverli.

Data lake, data warehouse e lakehouse a confronto#

  • Data warehouse: archivia tabelle strutturate e ripulite in uno schema fisso, a cui i dati devono conformarsi al momento del caricamento (schema alla scrittura), di solito dopo una fase di estrazione, trasformazione e caricamento (ETL). I warehouse come Snowflake, BigQuery e Redshift rispondono rapidamente alle query SQL e di business intelligence, ma sono meno flessibili con immagini, testo e altri dati non strutturati.
  • Data lake: archivia qualsiasi formato a basso costo e trasforma i dati dopo averli caricati (ELT), favorendo l'esplorazione, il data mining e il machine learning. I file di un lake tradizionale non supportano le transazioni, perciò le scritture simultanee possono lasciare ai lettori risultati scritti solo in parte.
  • Lakehouse: aggiunge funzionalità da warehouse allo storage di un lake attraverso formati di tabelle aperti come Apache Iceberg, Delta Lake e Apache Hudi, che offrono transazioni ACID, applicazione dello schema e la possibilità di tornare a versioni precedenti di una tabella. I ricercatori di Databricks hanno descritto questa architettura in un articolo del 2021.

Data lake nel machine learning#

Per i team di computer vision, il lake contiene ogni fotogramma acquisito dalla telecamera, i relativi metadati di acquisizione, le annotazioni e le predizioni che i modelli distribuiti generano su di esso. I programmi per i veicoli autonomi caricano i log di guida delle proprie flotte e li analizzano per trovare scene rare, come un pedone di notte sotto la pioggia, da etichettare e aggiungere ai set di addestramento. In ambito sanitario, scansioni e referti de-identificati raccolti in un unico lake forniscono i dati per i modelli di analisi delle immagini mediche. Le predizioni di produzione che tornano nel lake per essere esaminate e rietichettate chiudono un volano dei dati, mentre gli snapshot delle tabelle o strumenti come DVC fissano la versione esatta dei dati su cui è stato addestrato ciascun modello. I feature store e i database vettoriali sono spesso realizzati sopra un lake e forniscono feature o embedding derivati dai suoi file grezzi.

Ultralytics Platform può trasformare una cartella in Amazon S3, Google Cloud Storage o Azure Blob Storage in un dataset di addestramento senza caricarne una copia: indicizza sul posto fino a 500.000 oggetti per importazione con credenziali di sola lettura, analizza i file di etichette YOLO .txt accanto alle immagini e assegna le suddivisioni train, val e test in base ai nomi delle cartelle. Ogni immagine indicizzata viene associata alla versione del proprio oggetto, quindi Platform blocca l'operazione per qualsiasi immagine il cui file venga sovrascritto nel lake.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning