Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[CPBSB6] Descomplicando Arquitetura de Dados

[CPBSB6] Descomplicando Arquitetura de Dados

Engenharia e modelagem de dados estão mais próximos de arte do que de ciência. Dificilmente vai existir uma única resposta certa, normalmente vamos ter várias opções e precisar escolher a mais adequada para o momento. Vamos aprender sobre as principais arquiteturas e modelagens de dados, e como podemos aplicar isso no dia a dia.

Cadu Magalhães

March 30, 2024
Tweet

More Decks by Cadu Magalhães

Other Decks in Technology

Transcript

  1. Quem é esse? • 27 anos, São Paulo • 5

    anos de engenharia de dados • 10 anos de programação e eventos • Google Cloud certified • Dono de gatos • Nerdola, jogos, musica, cubos mágicos • Especialista em gambiarras Cadu Magalhães @1cadumagalhaes blog.cadumagalhaes.dev datacareer.guide
  2. Por que é importante falar sobre Arquitetura de dados? Nos

    últimos anos, falar que se usa dados, ou IA, explodiu. Organizações enfrentam cada vez mais desafios para gerenciar, processar e extrair valor dos dados. Sem uma estratégia robusta de arquitetura, elas correm o risco de perder insights importantes e ficar para trás no “mundo orientado por dados”
  3. Por que é importante falar sobre Arquitetura de dados? Apesar

    de dizer que priorizam os dados, a maioria das empresas não quer investir tempo e recursos para desenvolver suas aplicações de dados. Querem os resultados o mais rápido possível. Decisões sem o planejamento necessário, o que compromete a evolução e manutenção do projeto.
  4. Desafios e problemas que podem surgir • Dados sem qualidade

    • Dificuldade de desenvolvimento • Custos altos
  5. O que é Engenharia de Dados? A Engenharia de Dados

    (...) se concentra na concepção, construção e manutenção de sistemas e infraestrutura para a coleta, armazenamento, processamento e análise de de dados. - Chat GPT
  6. O que é Arquitetura de Dados? Arquitetura de dados é

    o conjunto de regras, políticas, padrões e tecnologias que define como os dados são organizados, armazenados, processados e acessados em uma organização - Chat GPT
  7. O que é Modelagem de Dados? Modelagem de dados é

    o processo de criar uma representação estruturada e organizada dos dados de uma organização, que define como os dados são armazenados, relacionados e acessados em um sistema de banco de dados. - Chat GPT
  8. Fontes de dados 1. Mapear todas as fontes de dados

    utilizadas. Por exemplo: a. Sistemas transacionais b. Dispositivos (IoT) c. API’s externas d. Sistemas terceiros É importante entender que provavelmente as fontes aumentarão com o passar do tempo e a evolução do projeto.
  9. Armazenamento 2. Definir a forma de armazenamento. a. Qual tecnologia

    será usada? (bancos relacionais, baseados em coluna, baseados em objetos, sistemas de armazenamento) b. Qual ferramenta? c. Onde (plataforma e região física) serão armazenados? Nessa etapa começamos a decidir o tipo de arquitetura. (Data Warehouse, Data Lake, etc)
  10. Processamento 3. Como precisamos processar os dados? a. Batch x

    Streaming b. Onde/em qual ferramenta? c. Com que frequência serão processados? (no caso de Batch)
  11. Metadados 4. Arquiteturas mais maduras usam os metadados! a. Criação

    de catálogo de dados b. Análises da execução da sua arquitetura c. Linhagem de dados
  12. Design de uma Arquitetura de Dados eficiente Precisamos considerar: •

    Escalabilidade • Flexibilidade • Desempenho • Manutenção • Segurança • Custo
  13. Data Warehouse Um data warehouse é um sistema de armazenamento

    centralizado que coleta e integra dados de diversas fontes • Escalabilidade: médio • Flexibilidade: Baixa • Desempenho: Ótimo • Complexidade: Baixa
  14. Data Lake Um data lake é um repositório de dados

    que armazena dados brutos e não processados em sua forma nativa até que sejam necessários para análise. • Escalabilidade: Altissima • Flexibilidade: Muito • Desempenho: Depende, médio • Complexidade: média
  15. Data Mart Um data mart é um subconjunto de um

    data warehouse, focado em fornecer dados específicos para um grupo de usuários ou departamento. • Escalabilidade: Alta • Flexibilidade: Alta • Desempenho: Alto • Complexidade: Alta
  16. Data Mesh O data mesh é uma abordagem emergente que

    propõe a descentralização e a distribuição de responsabilidades de dados para equipes individuais. • Escalabilidade: Alta • Flexibilidade: Alta • Desempenho: Alto • Complexidade: Alta
  17. Data Lakehouse O data lakehouse combina as capacidades de armazenamento

    de dados brutos de um data lake com a funcionalidade analítica de um data warehouse. • Escalabilidade: Alta • Flexibilidade: Alta • Desempenho: Meh
  18. Concluindo • Arquitetura de dados é importante e pode salvar

    dinheiro! • Não existe uma resposta certa • Entendam melhor os diferentes tipos de arquitetura (e modelagem) • Testem, experimentem, comparem