Ir para o conteúdo principal

Arquitetura de data warehouse

Desafios e trade-offs na escolha da arquitetura do seu data warehouse

header image

O que é arquitetura de data warehouse?

Um data warehouse é um sistema de gestão de dados que armazena data histórica e atual de várias fontes de maneira acessível para negócios, visando percepções e relatórios. 

Um data warehouse difere de um banco de dados. Um data warehouse é um repositório estruturado que fornece dados para Business Intelligence e analítica, enquanto um banco de dados é uma coleção de dados estruturados, que vai além de texto e números, incluindo imagens, vídeos e muito mais.

A arquitetura de data warehouse refere-se à estrutura que rege como um data warehouse é organizado, estruturado e implementado, incluindo componentes e processos.

De acordo com Bill Inmon, que escreveu Building the Data Warehouse, o livro pioneiro que lançou a indústria de data warehouse, a arquitetura de data warehouse refere-se a uma "coleção de dados orientada por assunto, integrada, variante no tempo e não volátil para apoiar o processo de tomada de decisão da gerência".

Analisando isso: 

  • Orientada por assunto — os dados são organizados e estruturados em torno de tópicos ou temas comerciais específicos, como dados de vendas, marketing ou distribuição 

  • Integrada — o data warehouse integra dados de várias fontes de forma unificada 

  • Variante no tempo — os dados representam um snapshot histórico, capturando mudanças ao longo do tempo, permitindo a análise de tendências e a geração de relatórios sobre como os dados evoluíram 

  • Não volátil — os dados no warehouse são somente de leitura; eles não serão alterados ou substituídos, mantendo a data histórica intacta e confiável para análise

Continue explorando

Quando você pode usar a arquitetura de data warehouse?

A arquitetura eficaz de data warehouse permite que as organizações analisem de forma rápida e fácil os dados empresariais consolidados carregados de sistemas operacionais, como sistemas de ponto de venda, sistemas de gerenciamento de estoque ou bancos de dados de vendas ou marketing. Os dados em um data warehouse bem projetado são consistentes, armazenados de forma eficiente e facilmente acessíveis para melhorar a tomada de decisões. 

Os data warehouses desempenham um papel fundamental em business intelligence (BI), analítica, relatórios, aplicações de dados, preparação de dados para machine learning (ML) e análise de dados. Os data warehouses modernos evoluíram para suportar dados não estruturados, como imagens e texto, e muitos agora incluem capacidades de AI incorporadas para analítica avançada e automação. 

Casos de uso incluem: 

  • Segmentação de clientes 

  • Relatórios financeiros 

  • Análise de tendências históricas 

  • Otimização da cadeia de suprimentos 

  • Desempenho de vendas e marketing 

Os data warehouses podem lidar com grandes volumes de dados e são projetados para armazenar data histórica e permitir que as empresas analisem tendências ao longo do tempo. Eles também podem facilitar a análise de informações difíceis de avaliar diretamente dos bancos de dados transacionais. Por exemplo, uma organização pode usar um data warehouse para analisar as receitas totais geradas por cada vendedor mensalmente para cada categoria de produto, o que pode não ser capturado por um banco de dados transacional. 

Tipos de arquitetura de data warehouse 

A arquitetura de data warehouse varia em complexidade, dependendo da estrutura e do propósito.

Camada única 
Nesse formato simples, o data warehouse atua como um repositório centralizado para todos os dados e como plataforma para análise e realização de query. A arquitetura de data warehouse de camada única é adequada para pequenas organizações com um número limitado de fontes de dados, necessidades simples de geração de relatórios e orçamentos menores. 

Duas camadas 
Esse modelo separa os sistemas de origem do data warehouse, criando duas camadas. O data warehouse é a plataforma para armazenamento e realização de queries. A arquitetura de duas camadas oferece maior escalabilidade e melhor desempenho e permite transformações mais complexas do que a arquitetura de camada única. 

Três camadas 
Na arquitetura de data warehousing de três camadas, a camada inferior compreende fontes de dados e armazenamento de dados, métodos de acesso a dados e ingestão ou extração de dados. A camada intermediária é um servidor de processamento analítico online (OLAP). A camada superior inclui os clientes front-end para queries, BI, dashboards, relatórios e análise. Esse é o tipo mais complexo de arquitetura de data warehouse e oferece alto desempenho e escalabilidade, integra-se a ferramentas de analítica e oferece suporte a queries e análises complexas. 

Camadas de data warehouse

A arquitetura de data warehouse é construída sobre uma estrutura em camadas que facilita o fluxo eficiente, as transformações e o consumo de dados para analítica e tomada de decisões. Cada camada desempenha um papel em garantir que os dados atendam às necessidades empresariais. 

Camada de origem 
A camada de origem é a base da arquitetura de data warehouse e o ponto de entrada para os dados. Ela contém dados brutos de várias fontes de dados, como ponto de venda, automação de marketing, sistemas CRM ou ERP, fontes de terceiros e mais.

Camada de staging 
A camada de staging armazena temporariamente os dados à medida que são consolidados, limpos e transformados, preparando-os para um carregamento eficiente no warehouse. Ela funciona como um buffer entre a camada de origem e a camada de warehouse, garantindo que os erros nos dados de origem sejam corrigidos antes do processamento posterior.

Camada de warehouse 
A camada de warehouse é onde todos os dados processados, limpos e estruturados são armazenados para uso a longo prazo. Os dados nesta camada são frequentemente organizados em esquemas otimizados para realização de query e análise. Essa camada também aplica políticas de governança, como linhagem de dados e controles de acesso, para manter a integridade e a segurança dos dados.

Camada de consumo 
A camada de consumo garante que os dados sejam acessíveis e relevantes para os usuários de negócios. Ela inclui ferramentas de BI, dashboards, plataformas de visualização de dados e APIs que oferecem interfaces amigáveis. Os dados nesta camada geralmente são agregados ou pré-processados em tabelas de resumo ou cubos para melhorar o desempenho das queries.  

Componentes do data warehouse

A arquitetura de data warehouse é composta por componentes essenciais que trabalham juntos para garantir uma gestão de dados e analítica sem interrupções. Os componentes principais incluem a arquitetura de data lakehouse, ferramentas de integração de dados, metadados e ferramentas de acesso a dados, mas as organizações podem usar componentes adicionais conforme necessário. 

Arquitetura data lakehouse
O data lakehouse serve como uma plataforma unificada para armazenar e processar todos os tipos de dados, combinando a flexibilidade dos data lakes com os recursos de gerenciamento dos warehouses tradicionais. Ela lida tanto com dados estruturados quanto não estruturados, suportando tudo, desde analítica SQL até cargas de trabalho de machine learning, mantendo a qualidade e o desempenho dos dados.

Ferramentas de integração de dados 
As ferramentas de integração de dados suportam duas abordagens principais para a gestão de dados: integração direta e virtualização de dados. As ferramentas de integração direta extraem dados para o banco de dados central e os transformam em um formato unificado para análise usando métodos como ETL (Extrair, Transformar, Carregar, na sigla em inglês), ELT (Extrair, Carregar, Transformar, na sigla em inglês) e processamento em tempo real e em massa. A virtualização de dados permite realizar query dos dados onde eles residem por meio da federação, criando uma visão unificada das fontes de dados distribuídas sem mover os dados. Essas abordagens podem ser usadas em conjunto, com o suporte de automação, orquestração, qualidade e enriquecimento de dados. Cada vez mais, os clientes estão criando relatórios diretamente em seu data warehouse para evitar a movimentação dos dados.

Metadados 
Metadados são dados sobre dados, essenciais para a governança e o gerenciamento de dados. Eles fornecem contexto e detalhes sobre os dados, como origens, transformações, estrutura, relacionamentos e uso. Metadados técnicos detalham esquemas, tipos de dados e linhagem, enquanto metadados de negócios descrevem dados para usuários não técnicos.

Ferramentas de acesso a dados 
As ferramentas de acesso a dados permitem que os usuários realizem queries, analisem e visualizem dados armazenados no data warehouse, preenchendo a lacuna entre dados brutos e tomada de decisão. Essas ferramentas incluem software de relatórios, plataformas de BI, ferramentas OLAP, ferramentas de mineração de dados, ferramentas de desenvolvimento de aplicativos e APIs que tornam dados acessíveis a usuários técnicos e não técnicos.

Recursos de AI e ML integrados 
Os data warehouses modernos geralmente incluem recursos de AI e ML integrados que permitem processamento automático de dados, detecção de padrões, detecção de anomalia e análise preditiva diretamente no ambiente do data warehouse, eliminando a necessidade de sistemas separados de AI/ML.

Painéis interativos
Os painéis de análise visual fornecem acesso em tempo real a percepções de dados por meio de gráficos, tabelas e relatórios interativos. Essas interfaces de autoatendimento permitem que usuários técnicos e não técnicos explorem dados, criem visualizações e gerem percepções sem escrever queries complexas.

Estrutura de governança
Uma estrutura de governança abrangente gerencia controles de acesso a dados, políticas de segurança, requisitos de compliance e padrões de qualidade de dados. Isso inclui ferramentas para acompanhamento de linhagem de dados, registro de auditoria, proteção de privacidade e gerenciamento de compliance regulatório em todo o ambiente de data warehouse.

Conceitos de data warehousing: Inmon vs. Kimball

Bill Inmon e Ralph Kimball, pioneiros do data warehousing, têm abordagens diferentes para o design de data warehouses. A abordagem de Inmon começa com o data warehouse como o repositório central para dados empresariais e é conhecida como abordagem de cima para baixo. 

O modelo de Kimball, conhecido como abordagem de baixo para cima, concentra-se primeiro na criação de data marts — bancos de dados especializados adaptados a unidades de negócios ou departamentos específicos — e na integração deles em um data warehouse maior.

Abordagem Inmon 
O modelo de cima para baixo da Inmon prevê um data warehouse centralizado em toda a empresa que atua como uma fonte única de verdade para todo o negócio. Nessa abordagem, os dados são extraídos dos sistemas de origem, limpos e armazenados em um formato normalizado no data warehouse central. A normalização garante a consistência dos dados, minimiza a redundância e facilita a integração entre diversos datasets. Os data marts com foco em áreas de negócios específicas são criados como subconjuntos do data warehouse principal. Eles são derivados do repositório central, garantindo a consistência com a arquitetura geral de dados da empresa.

Abordagem Kimball 
O método de baixo para cima de Kimball se concentra na construção de data marts, que abordam diretamente questões de negócios específicas e requisitos de relatórios. Esses são combinados para criar o data warehouse, que facilita a análise e a geração de relatórios. A abordagem de Kimball utiliza um modelo dimensional com tabelas de "fatos" contendo medidas numéricas e tabelas de "dimensões" com atributos descritivos, frequentemente estruturadas em um esquema em estrela, o que simplifica a consulta e a análise. Os dados são desnormalizados, o que acelera a fase inicial do design de data warehousing. Como o data warehouse se concentra em áreas de negócios individuais em vez de toda a empresa, ele ocupa menos espaço no banco de dados, facilitando o gerenciamento do sistema. 

Escolhendo a abordagem certa 
As organizações precisam escolher a abordagem de arquitetura de data warehouse que melhor atenda às suas necessidades — incluindo o uso de uma combinação das abordagens de Inmon e Kimball, referidas como modelo híbrido, quando necessário. 

Em geral, a abordagem de Inmon oferece uma solução abrangente e escalável para o gerenciamento de grandes datasets em toda a empresa. Ela garante analítica consistente e confiável em toda a organização, permitindo percepções sofisticadas de dados, enquanto enfatiza a qualidade e a governança dos dados. No entanto, os usuários precisam de ferramentas avançadas e especializadas para query e análise, e esse método requer um investimento significativo em termos de tempo, recursos e expertise técnica para construir um data warehouse. 

Em contraste, a abordagem de Kimball oferece entrega de dados flexível e rápida. Ela permite que os usuários finais realizem query e analisem dados diretamente dos data marts usando ferramentas familiares e modelos de autoatendimento, simplificando a descoberta e a análise mesmo para usuários sem habilidades especializadas ou ferramentas avançadas. Quando as organizações precisam de relatórios e analítica fáceis de usar e rápidos, ou quando o orçamento e os recursos são mais limitados, o método Kimball pode funcionar melhor.

Estruturando o data warehouse

As organizações usam esquemas para descrever diferentes arranjos lógicos de dados, representados por objetos como índices e tabelas, em um data warehouse. Esses esquemas funcionam como um modelo de como os dados serão armazenados e gerenciados, incluindo definições de termos e relacionamentos e sua disposição. As empresas usam três tipos de esquema para estruturar um data warehouse. 

Esquema em estrela 
Um esquema em estrela é um modelo de dados multidimensional usado para organizar dados em um banco de dados para que seja fácil de entender e analisar. O esquema em estrela é o esquema de data warehouse mais simples, otimizado para consultar grandes conjuntos de dados. Ele tem uma única tabela de fatos no centro, conectando-se a várias outras tabelas de dimensões. Os esquemas em estrela permitem que os usuários segmentem os dados da maneira que acharem melhor, normalmente unindo duas ou mais tabelas de fatos e tabelas de dimensões. 

Eles são usados para desnormalizar os dados empresariais em dimensões (como tempo e produto) e fatos (como transações em valores e quantidades). Modelos de dados desnormalizados têm mais redundância de dados (duplicação de dados), o que torna o desempenho das queries mais rápido, mas com o custo de dados duplicados. 

Esquema Snowflake 
Um esquema Snowflake é uma extensão de um esquema em estrela em que as tabelas de dimensão são divididas em subdimensões. Isso deixa o modelo de dados mais complexo, mas pode facilitar o trabalho dos analistas com determinados tipos de dados.  

A principal diferença entre os esquemas em estrela e os esquemas Snowflake é que os últimos normalizam os dados. Eles oferecem mais eficiência de armazenamento, devido à sua maior adesão aos altos padrões de normalização, mas o desempenho da query não é tão bom quanto nos modelos de dados desnormalizados. Os esquemas Snowflake são comumente usados para business intelligence e relatórios em data warehouses OLAP, data marts e bancos de dados relacionais.  

Esquema Galaxy 
Um esquema galaxy usa várias tabelas de fatos conectadas a tabelas de dimensões normalizadas compartilhadas, em oposição aos esquemas em estrela e snowflake, que usam apenas uma tabela de fatos. Um esquema galaxy é interligado e normalizado, quase eliminando a redundância e a inconsistência dos dados. Os esquemas galaxy são conhecidos por sua alta precisão e qualidade de dados e fornecem uma base para analítica e relatórios eficazes, o que os torna uma excelente opção para sistemas de bancos de dados complexos. 

Desafios para a arquitetura de data warehouse

Projetar e manter a arquitetura de data warehouse apresenta vários desafios que podem impactar a eficiência e a eficácia. 

Dados não estruturados 
Dados não estruturados, como imagens, vídeos, arquivos de texto e logs, são importantes para a melhoria, inovação e criatividade, pois criam oportunidades para descobrir novos padrões e percepções de diversas fontes de dados. No entanto, as arquiteturas tradicionais de data warehouse são projetadas para dados estruturados, então as organizações podem precisar de ferramentas avançadas para extrair valor de dados não estruturados. O volume de dados não estruturados também pode representar desafios para o armazenamento e a gestão de dados.

Escalabilidade 
À medida que as organizações crescem, a expansão exponencial do volume de dados desafia a escalabilidade das arquiteturas de data warehouse. Os sistemas tradicionais on-premises podem ter dificuldades para lidar com datasets em grande escala, altas cargas de query ou demandas de processamento em tempo real. Os data warehouses baseados em nuvem oferecem escalabilidade elástica, mas exigem planejamento cuidadoso para otimizar recursos e custos.

Custo 
Construir e manter um data warehouse exige um investimento significativo em infraestrutura e pessoal qualificado. Os sistemas on-premises são caros de estabelecer, enquanto as soluções baseadas em nuvem podem ser caras de operar. Os custos aumentam com o crescimento dos volumes de dados, o aumento das demandas dos usuários e a integração de recursos avançados de analítica ou AI.

Desempenho e eficiência 
O desempenho e a eficiência do data warehouse são cruciais para as operações comerciais, especialmente ao lidar com grandes datasets e queries complexas. Tempos de resposta de query lentos e pipelines de processamento de dados ineficientes podem afetar a produtividade do usuário e dificultar a tomada de decisões. Alcançar o desempenho ideal geralmente exige o aumento da complexidade do design e da gestão do sistema. 

Uso não técnico 
Usuários não técnicos precisam ser capazes de acessar e analisar dados, mas os data warehouses tradicionais geralmente exigem conhecimento técnico em SQL ou outras ferramentas técnicas. Isso cria um sistema lento e ineficiente no qual os usuários precisam enviar solicitações às equipes de dados e aguardar a entrega dos dados. Isso resulta em gargalos e atrasos, que são ampliados em organizações maiores. 

Sistemas separados para AI e ML 
Os data warehouses tradicionais são projetados para cargas de trabalho comuns de data warehouse, incluindo relatórios históricos, BI e realização de queries. No entanto, eles nunca foram projetados ou destinados a oferecer suporte a cargas de trabalho de machine learning. O uso de pipelines de dados adicionais para transferir dados entre o warehouse e ambientes especializados de AI/ML aumenta a complexidade e a latência. Integrar recursos de AI e ML diretamente no data warehouse ou aproveitar plataformas híbridas pode resolver esses desafios. 

Sistemas separados para BI
As arquiteturas tradicionais geralmente exigem sistemas especializados separados para business intelligence e analítica, criando silos de dados e exigindo movimentação complexa de dados entre sistemas. Essa separação pode levar a inconsistência dos dados, aumento da sobrecarga de manutenção e atrasos nas percepções. As modernas plataformas integradas que combinam armazenamento de dados e recursos de BI em um único ambiente ajudam as organizações a simplificar seus fluxos de trabalho de analítica e a garantir a consistência dos dados. 

Sistemas separados para governança de dados
Ter sistemas desconectados para governança de dados cria desafios na manutenção de políticas, controles de acesso e padrões de compliance consistentes em todo o ecossistema de dados. As organizações geralmente enfrentam dificuldades com ferramentas de governança fragmentadas que não se comunicam de forma eficaz entre si, levando a vulnerabilidades de segurança e riscos de compliance. Uma estrutura de governança unificada integrada à plataforma de dados ajuda a garantir a aplicação consistente de políticas e o gerenciamento simplificado da compliance.