Fundamentos de Engenharia de Dados

Projete e Construa Sistemas de Dados Robustos

Fundamentos de Engenharia de Dados
× Fundamentos de Engenharia de Dados

Fundamentos de Engenharia de Dados

VER AMOSTRA

Autores:

ISBN impresso: 978-85-7522-876-0
ISBN ebook: 978-85-7522- 877-7
Ano: 2023
Páginas: 528
Preço impresso: R$ 165,00 O ebook deste livro está disponível na Amazon.

1 opinião | Opine sobre este livro

Descrição do livro

A engenharia de dados cresceu rapidamente na última década, deixando muitos engenheiros de software, cientistas e analistas de dados em busca de uma visão abrangente dessa prática. Com este livro prático, você aprenderá a projetar e construir sistemas para atender às necessidades de sua organização e clientes, avaliando as melhores tecnologias disponíveis por meio da estrutura do ciclo de vida da engenharia de dados.

Os autores Joe Reis e Matt Housley guiam você pelo ciclo de vida da engenharia de dados e mostram como integrar uma variedade de tecnologias em nuvem para atender às necessidades dos consumidores de dados downstream. Você compreenderá como aplicar os conceitos de geração, ingestão, orquestração, transformação, armazenamento e governança de dados que são essenciais em qualquer ambiente de dados, independentemente da tecnologia utilizada.

Este livro o ajudará a:

• Obter uma visão geral de todo o cenário de engenharia de dados.

• Avaliar problemas de engenharia de dados utilizando um conjunto abrangente de melhores práticas.

• Não se deixar guiar pelo hype do momento ao escolher as tecnologias, arquitetura e processos de dados adequados.

• Utilizar o ciclo de vida da engenharia de dados para projetar e criar uma arquitetura robusta.

• Integrar governança de dados e segurança em todo o ciclo de vida da engenharia de dados.

Ver menos ▲

Sumário

Sumário

  • Prefácio
    • Fundamentos e componentes essenciais da engenharia de dados
  • Capítulo 1 ■ Descrição do que é engenharia de dados
  • O que é engenharia de dados?
    • Definição de engenharia de dados
    • O ciclo de vida da engenharia de dados
    • Evolução do engenheiro de dados
    • Engenharia de dados e ciência de dados
  • Habilidades e funções da engenharia de dados
    • Maturidade de dados e o engenheiro de dados
    • Formação e habilidades de um engenheiro de dados
    • Responsabilidades comerciais
    • Responsabilidades técnicas
    • As diversas funções na engenharia de dados, do tipo A ao tipo B
  • Engenheiros de dados dentro de uma organização
    • para o público externo
    • Engenheiros de dados e outras funções técnicas
    • Engenheiros de dados e liderança corporativa
  • Resumo
  • Recursos adicionais
  • Capítulo 2 ■ O ciclo de vida da engenharia de dados
  • O que é o ciclo de vida da engenharia de dados?
    • O ciclo de vida dos dados versus o ciclo de vida da engenharia de dados
    • Geração: Sistemas de origem
    • Armazenamento
    • Ingestão
    • Transformação
    • Disponibilização de dados
  • Principais elementos subjacentes em todo o ciclo de vida da engenharia de dados
    • Segurança
    • Gerenciamento de dados
    • DataOps
    • Arquitetura de dados
    • Orquestração
    • Engenharia de software
  • Resumo
  • Recursos adicionais
  • Capítulo 3 ■ Desenvolvendo uma boa arquitetura de dados
  • O que é arquitetura de dados?
    • Definição de arquitetura corporativa
    • Definição de arquitetura de dados
    • A “boa” arquitetura de dados
  • Princípios de uma boa arquitetura de dados
    • Princípio 1: Escolha componentes comuns com sabedoria
    • Princípio 2: Planeje para falhas
    • Princípio 3: Projete para escalabilidade
    • Princípio 4: Arquitetura é o cerne da liderança
    • Princípio 5: Esteja sempre arquitetando
    • Princípio 6: Desenvolva sistemas fracamente acoplados
    • Princípio 7: Tome decisões que possam ser revertidas
    • Princípio 8: Priorize a segurança
    • Princípio 9: Adote o FinOps
  • Principais conceitos de arquitetura
    • Domínios e serviços
    • Sistemas distribuídos, escalabilidade e planejando para falhas
    • Acesso do usuário: locatário único versus multilocatários
    • Arquitetura orientada a eventos
    • Projetos brownfield versus projetos greenfield
  • Exemplos e tipos de arquitetura de dados
    • Data Warehouse
    • Data Lake
    • Convergência, a nova geração de data lakes e a plataforma de dados
    • Pilha de dados moderna
    • Arquitetura Lambda
    • Arquitetura Kappa
    • O modelo Dataflow e o processamento em lote e em fluxo (streaming) unificado
    • Arquitetura para IoT
    • Data Mesh
    • Outros exemplos de arquitetura de dados
  • Quem faz parte do desenvolvimento de uma arquitetura de dados?
  • Resumo
  • Recursos adicionais
  • Capítulo 4 ■ Escolhendo tecnologias ao longo do ciclo de vida da engenharia de dados
  • Tamanho e capacidades da equipe
  • Velocidade de entrada no mercado
  • Interoperabilidade
  • Otimização de custos e valor comercial
    • Custo total de propriedade
    • Custo de oportunidade total de propriedade
    • FinOps
  • Hoje versus o futuro: tecnologias imutáveis versus tecnologias transitórias
    • Nossa recomendação
  • Local
    • On-premises
    • Nuvem
    • Nuvem híbrida
    • Multicloud
    • Computação descentralizada: o blockchain e a computação de borda
    • Nossa recomendação
    • Argumentos sobre a repatriação dos dados da nuvem
  • Construir versus comprar
    • Software de código aberto
    • Jardins murados proprietários
    • Nossa recomendação
  • Sistemas monolíticos versus sistemas modulares
    • Monolito
    • Modularidade
    • O padrão de monolito distribuído
    • Nossa recomendação
  • Arquitetura sem servidor (serverless) versus arquitetura com servidor
    • Arquitetura sem servidor
    • Contêineres
    • Avaliando arquitetura sem servidor versus arquitetura com servidor
    • Nossa recomendação
  • Otimização, desempenho e a guerra de benchmarks
    • Big Data...no contexto dos anos 1990s
    • Comparações de custos sem sentido
    • Otimização assimétrica
    • O “caveat emptor” — comprador, tenha cautela
  • Elementos subjacentes e seus impactos na escolha de tecnologias
    • Gerenciamento de dados
    • DataOps
    • Arquitetura de dados
    • Exemplo de orquestração: Airflow
    • Engenharia de software
  • Resumo
  • Recursos adicionais
    • O ciclo de vida da engenharia de dados em detalhes
  • Capítulo 5 ■ Geração de dados em sistemas de origem
  • Fontes de dados: como os dados são criados?
  • Sistemas de origem: principais conceitos
    • Arquivos e dados não estruturados
    • APIs
    • Bancos de dados de aplicação (sistemas OLTP)
    • Sistema de processamento analítico online
    • Captura de dados de alteração
    • Logs
    • Logs de banco de dados
    • CRUD
    • Padrão insert-only (apenas inserir)
    • Mensagens e fluxos
    • Tipos de registro de tempo
  • Detalhes práticos dos sistemas de origem
    • Banco de dados
    • APIs
    • Compartilhamento de dados
    • Fonte de dados de terceiros
    • Fila de mensagens e plataformas de streaming de eventos
  • Com quem você trabalhará
  • Elementos subjacentes e seus impactos em sistemas de origem
    • Segurança
    • Gerenciamento de dados
    • DataOps
    • Arquitetura de dados
    • Orquestração
    • Engenharia de software
  • Resumo
  • Recursos adicionais
  • Capítulo 6 ■ Armazenamento
  • Componentes básicos do armazenamento de dados
    • Unidade de disco magnético
    • Unidades de estado sólido
    • Memória de acesso aleatório
    • Redes e CPU
    • Serialização
    • Compressão
    • Cache
  • Sistemas de armazenamento de dados
    • Armazenamento em uma única máquina versus armazenamento distribuído
    • Consistência eventual versus consistência forte
    • Armazenamento de arquivos
    • Armazenamento em blocos
    • Armazenamento de objetos
    • Sistemas de armazenamento baseado em memória e cache
    • O Hadoop Distributed File System
    • Armazenamento de streaming
    • Índices, particionamento e clustering
  • Abstrações de armazenamento na engenharia de dados
    • Data warehouse
    • Data lake
    • Data lakehouse
    • Plataformas de dados
    • Arquitetura de armazenamento de fluxo para lote
  • Principais conceitos e tendências em armazenamento
    • Catálogo de dados
    • Compartilhamento de dados
    • Esquema
    • Separação entre computação e armazenamento
    • Ciclo de vida do armazenamento de dados e retenção de dados
    • Armazenamento de único locatário versus armazenamento multilocatário
  • Com quem você trabalhará
  • Elementos subjacentes
    • Segurança
    • Gerenciamento de dados
    • DataOps
    • Arquitetura de dados
    • Orquestração
    • Engenharia de software
  • Resumo
  • Recursos adicionais
  • Capítulo 7 ■ Ingestão
  • O que é ingestão de dados?
  • Principais considerações de engenharia para a etapa de ingestão
    • Dados limitados versus ilimitados
    • Frequência
    • Ingestão síncrona versus ingestão assíncrona
    • Serialização e desserialização
    • Taxa de transferência e escalabilidade
    • Confiabilidade e durabilidade
    • Carga útil
    • Diferença entre os padrões push, pull e poll
  • Considerações sobre ingestão em lote
    • Snapshot ou extração diferencial
    • Exportação e ingestão baseada em arquivos
    • ETL versus ELT
    • Inserções, atualizações e tamanho de lote
    • Migração de dados
  • Considerações sobre ingestão de streaming e mensagens
    • Evolução do esquema
    • Dados que chegam atrasados
    • Ordenação e entrega múltipla
    • Replay
    • Tempo de vida
    • Tamanho das mensagens
    • Tratamento de erros e filas de mensagens mortas
    • Operações de pull e push realizadas pelo consumidor
    • Localização
  • Formas de ingestão de dados
    • Conexão direta com o banco de dados
    • Captura de dados de alteração
    • APIs
    • Filas de mensagens e plataformas de streaming de eventos
    • Conectores de dados gerenciados
    • Movimentação de dados com armazenamento de objetos
    • EDI
    • Bancos de dados e exportação de arquivos
    • Questões práticas com formatos de arquivo comuns
    • Shell
    • SSH
    • SFTP e SCP
    • Webhooks
    • Interface web
    • Web scraping
    • Appliances de transferência para migração de dados
    • Compartilhamento de dados
  • Com quem você trabalhará
    • Stakeholders do upstream
    • Stakeholders do downstream
  • Elementos subjacentes
    • Segurança
    • Gerenciamento de dados
    • DataOps
    • Orquestração
    • Engenharia de software
  • Resumo
  • Recursos adicionais
  • Capítulo 8 ■ Consultas, modelagem e transformação
  • Consultas
    • O que é uma consulta?
    • A vida útil de uma consulta
    • O otimizador de consultas
    • Aprimorando o desempenho da consulta
    • Consultas em dados de streaming
  • Modelagem de dados
    • O que é um modelo de dados?
    • Modelos conceitual, lógico e físico de dados
    • Normalização
    • Técnicas para modelagem de dados analíticos em lote
    • Modelando dados de streaming
  • Transformações
    • Transformações em lote
    • Visualizações materializadas, federação e virtualização de consultas
    • Transformações e processamento de streaming
  • Com quem você trabalhará
    • Stakeholders do upstream
    • Stakeholders do downstream
  • Elementos subjacentes
    • Segurança
    • Gerenciamento de dados
    • DataOps
    • Arquitetura de dados
    • Orquestração
    • Engenharia de software
  • Resumo
  • Recursos adicionais
  • Capítulo 9 ■ Disponibilizando dados para análise, machine learning e ETL reverso
  • Considerações gerais para a disponibilização de dados
    • Confiança
    • Qual é o caso de uso e quem é o usuário?
    • Produtos de dados
    • Autoatendimento ou não?
    • Definições e lógica de dados
    • Data Mesh
  • Análise
    • Análise de negócios
    • Análise operacional
    • Análise incorporada
  • Machine learning
  • O que um engenheiro de dados deve saber sobre ML
  • Maneiras de disponibilizar dados para análise e ML
    • Troca de arquivos
    • Bancos de dados
    • Sistemas de streaming
    • Federação de consultas
    • Compartilhamento de dados
    • Camadas semânticas e camadas de métricas
    • Disponibilizando dados em notebooks
  • ETL reverso
  • Com quem você trabalhará
  • Elementos subjacentes
    • Segurança
    • Gerenciamento de dados
    • DataOps
    • Arquitetura de dados
    • Orquestração
    • Engenharia de software
  • Resumo
  • Recursos adicionais
    • Segurança, privacidade e o futuro da engenharia de dados
  • Capítulo 10 ■ Segurança e privacidade
  • Pessoas
    • O poder do pensamento negativo
    • Mantenha-se sempre paranoico com a segurança
  • Processos
    • Falsa sensação de segurança versus hábito de segurança
    • Segurança ativa
    • O princípio do privilégio mínimo
    • Responsabilidade compartilhada na nuvem
    • Sempre faça o backup dos seus dados
    • Um exemplo de política de segurança
  • Tecnologia
    • Aplique patches e atualize os sistemas
    • Criptografia
    • Registro de logs, monitoramento e emissão de alertas
    • Acesso à rede
    • Segurança para engenharia de dados de baixo nível
  • Resumo
  • Recursos adicionais
  • Capítulo 11 ■ O futuro da engenharia de dados
  • O ciclo de vida da engenharia de dados veio para ficar
  • A diminuição da complexidade e a ascensão de ferramentas de dados fáceis de usar
  • Engenharia de dados “empresarial”
  • Funções e responsabilidades se transformarão
  • Indo além da pilha de dados moderna, rumo à pilha de dados em tempo real
    • A pilha de dados em tempo real
    • Pipelines de streaming e bancos de dados analíticos em tempo real
    • A fusão de dados com aplicações
    • A estreita relação entre aplicações e ML
    • Dados de matéria escura e o surgimento de... planilhas ?!
  • Conclusão
  • Apêndice A ■ Detalhes técnicos de serialização e compressão
  • Formatos de serialização
    • Serialização baseada em linhas
    • Serialização colunar
    • Serialização híbrida
  • Mecanismos de armazenamento de banco de dados
  • Compressão: gzip, bzip2, Snappy e outros
  • Apêndice B ■ Rede em nuvem
  • Topologia de rede em nuvem
    • Custos de saída de dados
    • Zonas de disponibilidade
    • Regiões
    • Redundância de multirregião e rede específicos do GCP
    • Conexões de rede diretas para as nuvens
  • CDNs
  • O futuro das taxas de saída de dados
  • Índice remissivo
Ver sumário completo ▼

Opinião dos leitores

Ailton T

O livro “Fundamentos de Engenharia de Dados” apresenta uma visão bastante completa sobre os principais conceitos envolvidos na construção e manutenção de plataformas de dados modernas. O conteúdo aborda temas importantes como ingestão, armazenamento, processamento, qualidade, governança e disponibilização de dados para diferentes tipos de consumo. Achei interessante como o livro consegue conectar fundamentos técnicos com desafios reais enfrentados por equipes que trabalham com pipelines, integrações e arquiteturas de dados em larga escala. A abordagem ajuda a entender que engenharia de dados vai muito além de apenas mover informações entre sistemas. A leitura é organizada e bastante relevante para profissionais que atuam ou pretendem atuar com Data Lakes, Data Warehouses, analytics e ecossistemas orientados a dados. No geral, considero um livro muito útil para quem deseja fortalecer a base conceitual em engenharia de dados e compreender melhor as boas práticas envolvidas na construção de ambientes de dados mais confiáveis e escaláveis.

Ver todas ▼