Data Warehousing - Arquitetura

Neste capítulo, discutiremos a estrutura de análise de negócios para o projeto e a arquitetura do data warehouse.

Estrutura de Análise de Negócios

O analista de negócios obtém as informações dos data warehouses para medir o desempenho e fazer ajustes críticos para conquistar outros empresários no mercado. Ter um data warehouse oferece as seguintes vantagens -

  • Como um data warehouse pode reunir informações de forma rápida e eficiente, ele pode aumentar a produtividade dos negócios.

  • Um data warehouse nos fornece uma visão consistente dos clientes e itens, portanto, nos ajuda a gerenciar o relacionamento com o cliente.

  • Um data warehouse também ajuda a reduzir os custos, rastreando tendências e padrões por um longo período de maneira consistente e confiável.

Para projetar um data warehouse eficaz e eficiente, precisamos entender e analisar as necessidades do negócio e construir um business analysis framework. Cada pessoa tem visões diferentes sobre o design de um data warehouse. Essas visões são as seguintes -

  • The top-down view - Esta visualização permite a seleção de informações relevantes necessárias para um data warehouse.

  • The data source view - Esta visualização apresenta as informações sendo capturadas, armazenadas e gerenciadas pelo sistema operacional.

  • The data warehouse view- Esta visualização inclui as tabelas de fatos e tabelas de dimensão. Ele representa as informações armazenadas dentro do data warehouse.

  • The business query view - É a visão dos dados do ponto de vista do usuário final.

Arquitetura de data warehouse de três camadas

Geralmente, um data warehouse adota uma arquitetura de três camadas. A seguir estão as três camadas da arquitetura do data warehouse.

  • Bottom Tier- A camada inferior da arquitetura é o servidor de banco de dados do data warehouse. É o sistema de banco de dados relacional. Usamos as ferramentas e utilitários de back-end para alimentar os dados na camada inferior. Essas ferramentas e utilitários de back-end executam as funções Extrair, Limpar, Carregar e atualizar.

  • Middle Tier - Na camada intermediária, temos o OLAP Server que pode ser implementado de uma das seguintes maneiras.

    • Por Relational OLAP (ROLAP), que é um sistema de gerenciamento de banco de dados relacional estendido. O ROLAP mapeia as operações em dados multidimensionais para operações relacionais padrão.

    • Por modelo Multidimensional OLAP (MOLAP), que implementa diretamente os dados e operações multidimensionais.

  • Top-Tier- Essa camada é a camada do cliente front-end. Esta camada contém as ferramentas de consulta e ferramentas de relatório, ferramentas de análise e ferramentas de mineração de dados.

O diagrama a seguir descreve a arquitetura de três camadas do data warehouse -

Modelos de Data Warehouse

Da perspectiva da arquitetura de data warehouse, temos os seguintes modelos de data warehouse -

  • Armazém Virtual
  • Data mart
  • Enterprise Warehouse

Armazém Virtual

A visão de um armazém de dados operacional é conhecida como armazém virtual. É fácil construir um warehouse virtual. Construir um armazém virtual requer capacidade excessiva em servidores de banco de dados operacionais.

Data Mart

Data mart contém um subconjunto de dados de toda a organização. Este subconjunto de dados é valioso para grupos específicos de uma organização.

Em outras palavras, podemos afirmar que os data marts contêm dados específicos para um determinado grupo. Por exemplo, o data mart de marketing pode conter dados relacionados a itens, clientes e vendas. Data marts são limitados a assuntos.

Pontos a serem lembrados sobre data marts -

  • Servidores baseados em janela ou baseados em Unix / Linux são usados ​​para implementar data marts. Eles são implementados em servidores de baixo custo.

  • Os ciclos de data mart de implementação são medidos em curtos períodos de tempo, ou seja, em semanas ao invés de meses ou anos.

  • O ciclo de vida de um data mart pode ser complexo a longo prazo, se seu planejamento e design não forem para toda a organização.

  • Os data marts são pequenos.

  • Data marts são personalizados por departamento.

  • A origem de um data mart é um data warehouse estruturado por departamento.

  • Data mart são flexíveis.

Enterprise Warehouse

  • Um warehouse empresarial coleta todas as informações e os assuntos abrangendo uma organização inteira

  • Ele nos fornece integração de dados em toda a empresa.

  • Os dados são integrados a partir de sistemas operacionais e provedores externos de informações.

  • Essas informações podem variar de alguns gigabytes a centenas de gigabytes, terabytes ou mais.

Gerenciador de carga

Este componente executa as operações necessárias para extrair e carregar o processo.

O tamanho e a complexidade do gerenciador de carga variam entre soluções específicas de um data warehouse para outro.

Arquitetura do gerenciador de carga

O gerenciador de carga executa as seguintes funções -

  • Extraia os dados do sistema de origem.

  • Carregue rapidamente os dados extraídos no armazenamento de dados temporário.

  • Execute transformações simples em uma estrutura semelhante àquela do data warehouse.

Extrair dados da fonte

Os dados são extraídos dos bancos de dados operacionais ou de provedores externos de informações. Gateways são os programas de aplicativos usados ​​para extrair dados. É suportado por DBMS subjacente e permite que o programa cliente gere SQL para ser executado em um servidor. Open Database Connection (ODBC), Java Database Connection (JDBC), são exemplos de gateway.

Carregamento rápido

  • Para minimizar a janela de carregamento total, os dados precisam ser carregados no warehouse o mais rápido possível.

  • As transformações afetam a velocidade do processamento de dados.

  • É mais eficaz carregar os dados no banco de dados relacional antes de aplicar transformações e verificações.

  • A tecnologia de gateway se mostra inadequada, uma vez que eles tendem a não ter um bom desempenho quando grandes volumes de dados estão envolvidos.

Transformações Simples

Durante o carregamento, pode ser necessário realizar transformações simples. Depois de concluído, estamos em posição de fazer as verificações complexas. Suponha que estejamos carregando a transação de vendas EPOS, precisamos realizar as seguintes verificações:

  • Remova todas as colunas que não são necessárias no warehouse.
  • Converta todos os valores em tipos de dados necessários.

Gerente de armazém

Um gerente de depósito é responsável pelo processo de gerenciamento de depósito. Ele consiste em software de sistema de terceiros, programas C e scripts de shell.

O tamanho e a complexidade dos gerentes de warehouse variam entre soluções específicas.

Arquitetura do gerente de armazém

Um gerente de armazém inclui o seguinte -

  • O processo de controle
  • Procedimentos armazenados ou C com SQL
  • Ferramenta de backup / recuperação
  • Scripts SQL

Operações realizadas pelo gerente de armazém

  • Um gerente de warehouse analisa os dados para realizar verificações de consistência e integridade referencial.

  • Cria índices, visões de negócios, visões de partição em relação aos dados de base.

  • Gera novas agregações e atualiza agregações existentes. Gera normalizações.

  • Transforma e mescla os dados de origem no data warehouse publicado.

  • Faça backup dos dados no data warehouse.

  • Arquiva os dados que chegaram ao fim de sua vida útil capturada.

Note - Um warehouse Manager também analisa os perfis de consulta para determinar o índice e as agregações são apropriadas.

Gerente de Consulta

  • O gerenciador de consultas é responsável por direcionar as consultas às tabelas adequadas.

  • Direcionando as consultas para tabelas apropriadas, a velocidade de consulta e geração de resposta pode ser aumentada.

  • O gerenciador de consultas é responsável por agendar a execução das consultas feitas pelo usuário.

Arquitetura do Query Manager

A captura de tela a seguir mostra a arquitetura de um gerenciador de consultas. Inclui o seguinte:

  • Redirecionamento de consulta via ferramenta C ou RDBMS
  • Procedimentos armazenados
  • Ferramenta de gerenciamento de consulta
  • Agendamento de consulta via ferramenta C ou RDBMS
  • Programação de consultas por meio de software de terceiros

Informação detalhada

As informações detalhadas não são mantidas online, em vez disso, são agregadas ao próximo nível de detalhe e depois arquivadas em fita. A parte de informações detalhadas do data warehouse mantém as informações detalhadas no esquema starflake. Informações detalhadas são carregadas no data warehouse para complementar os dados agregados.

O diagrama a seguir mostra uma impressão pictórica de onde as informações detalhadas são armazenadas e como são usadas.

Note - Se as informações detalhadas forem mantidas offline para minimizar o armazenamento em disco, devemos nos certificar de que os dados foram extraídos, limpos e transformados em esquema starflake antes de serem arquivados.

Informação Resumida

As informações de resumo são uma parte do data warehouse que armazena agregações predefinidas. Essas agregações são geradas pelo gerente do armazém. As informações de resumo devem ser tratadas como transitórias. Ele muda em movimento para responder aos perfis de consulta em mudança.

Os pontos a serem observados sobre as informações resumidas são os seguintes -

  • As informações resumidas aceleram o desempenho de consultas comuns.

  • Aumenta o custo operacional.

  • Ele precisa ser atualizado sempre que novos dados são carregados no data warehouse.

  • Pode não ter sido feito backup, uma vez que pode ser gerado com base nas informações detalhadas.