Engenharia de Dados é a disciplina responsável por projetar, construir e manter os sistemas e pipelines que tornam os dados acessíveis, confiáveis e utilizáveis para análise, ciência de dados e produtos de dados.

O engenheiro de dados é o elo entre as fontes brutas de dados e os consumidores finais (analistas, cientistas de dados, sistemas de ML).

Ciclo de vida do dado

flowchart LR
    F([Fontes]) --> I[Ingestão] --> A[(Armazenamento)] --> T[Transformação] --> S[Serving] --> C([Consumo])

Cada etapa tem ferramentas e padrões específicos. O engenheiro de dados participa de todas elas, diferentemente de outras áreas, que vão atuar principalmente no consumo, por exemplo.

Diferenças entre os papéis de dados

PapelFoco principal
Engenheiro de DadosConstruir e manter pipelines, infraestrutura de dados
Analista de DadosExplorar dados, criar dashboards e relatórios
Cientista de DadosModelos preditivos, estatística, ML
Engenheiro de MLColocar modelos em produção (MLOps)

Responsabilidades típicas

  • Ingestão de dados de diversas fontes (bancos relacionais, APIs, streaming)
  • Construção e manutenção de pipeline-de-dados
  • Modelagem e armazenamento em data-lake-lakehouse
  • Garantia de qualidade, linhagem e observabilidade dos dados
  • Orquestração e agendamento de jobs
  • Governança: controle de acesso, catalogação, retenção

Linguagem dominante

Python é a linguagem padrão da engenharia de dados. Para maiores informações, ver python-engenharia-dados.

Ver também: mermaid-diagrams

Conceitos fundamentais

big-data pipeline-de-dados arquitetura-medalhao data-lake-lakehouse formatos-de-arquivo-datalake ferramentas-engenharia-dados dataops