Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Data Lake

Um data lake armazena dados brutos de qualquer formato em armazenamento de objetos de baixo custo e aplica um esquema durante a leitura. Veja como se compara a data warehouses e lakehouses.

Um data lake é um repositório central que armazena dados em seu formato bruto e nativo, desde exportações de bancos de dados e registros JSON até imagens, vídeos, áudios e documentos, geralmente em armazenamento de objetos na nuvem de baixo custo, e aplica estrutura somente quando os dados são lidos. James Dixon, então diretor de tecnologia da Pentaho, cunhou o termo em 2010 para contrastar um data mart, que ele comparou a água engarrafada, limpa e embalada, com um grande volume de dados em seu estado natural, do qual muitos usuários podem se servir. Como não é preciso modelar nada antecipadamente, um lake pode guardar tudo o que uma organização coleta, o que é adequado para aprendizado de máquina: os dados de treinamento do modelo de amanhã costumam ser dados brutos cujo uso ninguém conhecia quando foram armazenados.

Como funciona um data lake#

Um lake separa o armazenamento da computação. Os arquivos ficam em um armazenamento de objetos, como Amazon S3, Google Cloud Storage ou Azure Data Lake Storage, e mecanismos como Spark, Trino ou um processo Python os leem diretamente, permitindo que cada equipe dimensione sua própria computação sem copiar os dados. Os dados tabulares geralmente são mantidos em formatos colunares abertos, como Apache Parquet, enquanto imagens e vídeos permanecem como arquivos comuns, muitas vezes ao lado de manifestos JSON ou Parquet que contêm seus metadados e rótulos.

A maioria dos lakes é organizada em zonas por nível de refinamento, em uma estrutura que a Databricks chama de arquitetura medalhão: uma zona bruta (bronze) mantém os dados exatamente como chegaram, uma zona limpa (prata) contém dados validados e sem duplicatas, e uma zona selecionada (ouro) contém tabelas e conjuntos de dados prontos para relatórios ou treinamento. Um catálogo de metadados, como AWS Glue Data Catalog, Hive Metastore ou Unity Catalog, registra o conteúdo de cada conjunto de dados, quem é responsável por ele e quem pode lê-lo. Sem esse catálogo e a limpeza de dados, um lake se transforma em um "pântano de dados": arquivos que ninguém consegue encontrar, nos quais ninguém confia ou que ninguém pode excluir com segurança.

Esquema na leitura#

Um lake aplica um esquema quando os dados são lidos; isso é chamado de esquema na leitura. Os responsáveis pela gravação podem armazenar os dados assim que eles existem, mesmo quando duas fontes discordam sobre os campos, e cada leitor decide de quais colunas e tipos precisa. Este exemplo grava dois arquivos JSON brutos com campos diferentes e, em seguida, lê ambos com um único esquema usando Polars:

import json
from pathlib import Path

import polars as pl

# Zona bruta: duas câmeras gravam eventos de detecção como linhas JSON, cada uma com seus próprios campos
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}))

# Esquema na leitura: este leitor escolhe as colunas e os tipos ao consultar os arquivos
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())

O resultado tem duas linhas com as colunas label, conf, lux e source. A primeira câmera nunca registrou lux, então seu valor aparece como null, e source registra de qual arquivo bruto veio cada linha. Uma segunda tarefa poderia ler os mesmos arquivos com um esquema diferente sem regravá-los.

Data lake vs. data warehouse vs. lakehouse#

  • Data warehouse: armazena tabelas limpas e estruturadas em um esquema fixo, ao qual os dados precisam corresponder quando são carregados (esquema na gravação), geralmente após uma etapa de extração, transformação e carregamento (ETL). Data warehouses como Snowflake, BigQuery e Redshift respondem rapidamente a consultas SQL e de inteligência de negócios, mas oferecem menos flexibilidade para imagens, texto e outros dados não estruturados.
  • Data lake: armazena qualquer formato a baixo custo e transforma os dados depois de carregá-los (ELT), favorecendo a exploração, a mineração de dados e o aprendizado de máquina. Arquivos simples de lake não têm transações, então gravações simultâneas podem deixar os leitores com resultados parcialmente gravados.
  • Lakehouse: adiciona recursos de data warehouse ao armazenamento de lake por meio de formatos abertos de tabela, como Apache Iceberg, Delta Lake e Apache Hudi, que oferecem transações ACID, aplicação de esquemas e viagem no tempo para versões anteriores de uma tabela. Pesquisadores da Databricks descreveram essa arquitetura em um artigo de 2021.

Data lakes no aprendizado de máquina#

Para equipes de visão computacional, o lake guarda cada quadro capturado por uma câmera, seus metadados de captura, suas anotações e as previsões feitas por modelos implantados. Programas de veículos autônomos carregam registros de condução de suas frotas e os analisam para encontrar cenas raras, como um pedestre à noite sob chuva, rotulá-las e adicioná-las aos conjuntos de treinamento. Na área da saúde, exames e laudos desidentificados reunidos em um lake fornecem dados para modelos de análise de imagens médicas. As previsões de produção que retornam ao lake para revisão e nova rotulagem completam um ciclo virtuoso de dados, e snapshots de tabelas ou ferramentas como DVC fixam a versão exata dos dados usada no treinamento de cada modelo. Feature stores e bancos de dados vetoriais costumam ser criados sobre um lake e disponibilizam recursos ou embeddings derivados de seus arquivos brutos.

A Ultralytics Platform pode transformar uma pasta no Amazon S3, no Google Cloud Storage ou no Azure Blob Storage em um conjunto de dados de treinamento sem carregar uma cópia: ela indexa no próprio local até 500.000 objetos por importação, com credenciais somente de leitura, analisa arquivos de rótulos YOLO .txt ao lado das imagens e atribui as divisões train, val e test com base nos nomes das pastas. Cada imagem indexada é vinculada à versão do objeto, então a Platform interrompe o processo com segurança caso algum arquivo de imagem seja sobrescrito no lake.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina