15 conceitos principais de engenharia de dados simplificados
Introdução No World of Big Data de hoje, o termo engenharia de dados está em toda parte – geralmente cercado por uma nuvem de chavões técnicas. Esses termos podem parecer esmagadores, especialmente se você é novo no ecossistema de dados. Este artigo tem como objetivo dividir esses conceitos em explicações simples e relacionáveis, para que você possa entendê -las sem precisar de um histórico técnico. O que é engenharia de dados? A engenharia de dados é a disciplina de projetar, construir e manter pipelines de dados que garantem que os dados possam se mover de maneira confiável de sua fonte para onde é necessário. Esses oleodutos lidam com o movimento, transformação e armazenamento de dados, preparando-os para análise e tomada de decisão. Conceitos centrais de engenharia de dados 1. O lote vs ingestão de lotes de streaming é um processo pelo qual os dados são coletados e processados em pedaços grandes e discretos em horários específicos, geralmente agendados. A ingestão da corrente é a coleta contínua de dados à medida que chega. Os dados são processados individualmente quando entram no sistema. 2. Alterar a captura de dados de dados (CDC) A captura de dados é uma técnica que identifica e rastreia a mudança (inserções, atualizações, exclusão) feitas nos dados em um banco de dados e, em seguida, entregam essas alterações em tempo real a um processo ou sistema a jusante, como integração de dados em tempo real ou warehousing de dados. 3. IdempotencyIdempotência é uma propriedade de uma operação pela qual a execução da operação várias vezes com o mesmo conjunto de entrada produz a mesma saída. Por exemplo, ao criar um registro, pressionando o botão Salvar duas vezes, apenas um registro será salvo. 4. OLTP vs Processamento de transações da OLAPONLINA (OLTP) é uma forma de processamento de dados que envolve um grande número de transações pequenas e simultâneas. Exemplo de tais processos inclui bancos on -line, compras, entrada de pedidos ou envio de mensagens de texto. ANALINA O PROCESSO ANÁLICO (OLAP) é uma maneira de armazenar e consultar dados, para que você possa analisá -los rapidamente de diferentes dimensões sem precisar executar consultas lentas e complexas em dados transacionais. No OLAP: os dados são reorganizados para que você possa responder rapidamente a perguntas como: Quais foram as vendas totais do produto X por mês nos últimos 2 anos? Qual região vendeu mais no segundo trimestre 2025? Como as vendas em Nairobi se comparam a Kisumu ao longo do tempo? 5. Armazenamento colunar vs baseado em linha no armazenamento baseado em linha, todos os valores de um único registro são armazenados contiguamente no disco. Esta forma de armazenamento é eficiente para cargas de trabalho transacionais (inserindo, atualizando ou excluindo linhas) e operações intensivas em gravação. O armazenamento baseado em linha é menos eficiente para consultas que precisam acessar apenas algumas colunas em muitas linhas, pois toda a linha deve ser lida no disco, levando a E/S desnecessária. No armazenamento colunar, os dados são armazenados na coluna por coluna, com todos os valores para uma única coluna armazenada contiguamente em um disco. Essa forma de armazenamento é altamente eficiente para consultas analíticas que envolvem agregações, filtragem e análise em um grande conjunto de dados, pois apenas as colunas necessárias são lidas no disco. No entanto, é menos eficiente para cargas de trabalho transacionais, pois a modificação de uma única linha requer atualizações em vários blocos de coluna. 6. Partição em engenharia de dados, particionamento significa dividir um grande conjunto de dados em peças menores e mais gerenciáveis para acelerar as consultas e reduzir o uso de recursos. Em vez de digitalizar uma tabela ou arquivo inteiro, as consultas leem apenas as partições relevantes. Tipos comuns de partição: particionamento horizontal: dividindo linhas com base no valor de uma coluna (por exemplo, data, região). Partição vertical: dividindo colunas em tabelas ou arquivos separados para reduzir os dados digitalizados. Particionamento de hash: usando uma função de hash em uma chave (por exemplo, ID do cliente) para distribuir uniformemente dados entre partições. 7. ETL vs ELTETL (Extrato, Transformação, Carga): Os dados são extraídos de sistemas de origem, transformados (limpos, enriquecidos, agregados) em um ambiente de processamento separado e depois carregado no armazenamento de destino (por exemplo, um armazém de dados). Bom quando as transformações devem acontecer antes que os dados entrem no armazenamento. Frequentemente usado com data warehouses ou sistemas no local com requisitos rígidos de esquema. ELT (Extrato, carga, transformação): os dados são extraídos de fontes, carregados diretamente no armazenamento de destino primeiro (geralmente um data warehouse de dados em nuvem) e transformados dentro do armazenamento usando seu poder de processamento. Bom quando o armazenamento é poderoso o suficiente para lidar com transformações em escala (por exemplo, floco de neve, bigqery). Permite armazenar dados brutos para flexibilidade e reprocessamento posteriormente. 8. Teorema do CAP (Teorema dos Brewers) O teorema do CAP afirma que, para um sistema distribuído, é impossível alcançar simultaneamente consistência, disponibilidade e tolerância à partição. A consistência das 3 propriedades (c): todo nó no sistema vê os mesmos dados ao mesmo tempo. Disponibilidade (a): Cada solicitação recebe uma resposta. Tolerância à partição (P): O sistema continua operando apesar de uma mensagem ser perdida ou atrasada entre os nós. O trade-off Quando uma partição de rede acontece, você deve escolher entre: CA → Consistência + disponibilidade (sem tolerância à partição) → funciona apenas se a rede nunca falhar (raro em sistemas distribuídos reais). CP → Consistência + tolerância à partição (pode sacrificar a disponibilidade durante uma partição). AP → Disponibilidade + tolerância à partição (pode servir dados obsoletos para continuar respondendo). 9. A janela no fluxo de fluxo é uma técnica no processamento de fluxos onde o fluxo infinito de eventos (como logs, leitura ou transações de sensores) e divide -o em pedaços finitos de tempo ou contagem para que você possa executar agregações como soma, média ou contagem. A janela permite um fim para calcular os resultados, fornecendo limites lógicos para os cálculos. 10. DAG e DAG DAG DAG (Gráfico acíclico direcionado): uma maneira de representar um fluxo de trabalho ou processo em que as etapas têm uma ordem definida, e não há como voltar a uma etapa anterior seguindo essas direções. Orquestração de fluxo de trabalho: o processo de automação, coordenação e gerenciamento de várias tarefas (DAGs) e sistemas para executar processos de negócios complexos. Algumas ferramentas usadas para orquestração incluem, Apache Airflow, Dagster e Luigi 11. Logic e letra morta QueuesData Engenharia e sistemas distribuídos precisam de maneiras de lidar com falhas sem perder dados. Entre essas maneiras, estão a lógica e as filas de letras mortas (DLQs). É útil ao manusear problemas como falhas de rede, tempo limite da API ou recursos bloqueados. É útil para prevenir loops sem fim e preservar dados com falha para investigação. 12. Reverso e reprocessingbackFilling envolve reprocessamento de dados históricos para corrigir erros, acomodar novas estruturas de dados ou integrar novas fontes de dados. Exemplo: se o seu banco de dados de vendas adicionar uma nova coluna “desconto”, você poderá preencher registros anteriores para que os dados mais antigos também incluam as informações de desconto corretas. O reprocessamento é o ato de executar dados através de um pipeline de processamento novamente para corrigir imprecisões, aplicar lógica de transformação atualizada ou garantir a integridade.Exemplo: se você descobrir um erro na lógica de cálculo de impostos, poderá reprocessar os dados de vendas do mês passado usando a fórmula corrigida. 13. Data GovernAncedata Governança é a estrutura de regras, processos e responsabilidades que garantem que os dados sejam precisos, seguros, consistentes e usados adequadamente ao longo de seu ciclo de vida. Objetivo na engenharia de dados: garantia de qualidade – certificando -se de que os pipelines de dados forneçam dados limpos e confiáveis. Segurança e privacidade – controlando quem pode acessar ou modificar dados. Conformidade – atendendo aos requisitos legais e regulatórios (por exemplo, GDPR, HIPAA). Linhagem e documentação – rastreamento de onde vieram os dados, como foram transformados e onde são usados. Padronização – garantindo formatos consistentes, convenções de nomeação e definições. 14. Viagem no tempo e versão Data Viagem no tempo é a capacidade de visualizar o conjunto de dados como existia em um ponto específico no passado. Pode ser usado para recuperar dados excluídos ou modificados acidentalmente. Ele também pode ser usado para auditar estados históricos de dados e, finalmente, pode ser usado para comparar conjuntos de dados atuais e passados. Versão de dados é a prática de armazenar e gerenciar várias versões de um conjunto de dados ao longo do tempo. Seu objetivo é rastrear alterações nos dados ou permitir a reversão para versões anteriores. 15. O processamento distribuído distribuído é o método de quebrar a grande tarefa de computação em peças menores e executar essas peças simultaneamente em várias máquinas ou processadores e, em seguida, combinar o objetivo da engenharia de dados: lidar com os conjuntos de dados muito grandes para a memória ou armazenamento de uma única máquina. Processar dados mais rapidamente trabalhando em paralelo. Melhore a tolerância a falhas – se uma máquina falhar, outras podem continuar.
Fonte
Publicar comentário