Como calcular a Confiabilidade em um DW

Extração, transformação e carga constitui mais de 70 por cento do esforço de execução de um projeto global de DW em uma empresa…    InfoManagement Direto – Ashok Nayak – Gerente Sênior em Serviços de Informações da Accenture.

Extração, transformação e carga constitui mais de 70 por cento do esforço de execução de um projeto global de DW em uma empresa. Enquanto projetos típicos gastam tempo e energia considerável na finalização da arquitetura de um DW, o projeto de ETL não recebe a devida atenção e pesquisa. Várias tecnologias e arquiteturas existem nesta área; Porém estes são baseados na experiência do arquiteto com projetos anteriores, e a abordagem é baseada no que mais parece ser uma prática sob o ponto de vista arquitetônico em uma determinada situação, satisfazendo as restrições de gerenciamento de projeto triplo. Este artigo esboça uma abordagem mais objetiva e analítica para o ETL e a arquitetura de Data Flow, baseado em um conjunto de variáveis com um objetivo para realçar a confiabilidade da solução de um DW global.

 Arquitetura de Fluxo de Dados (Data Flow)

 A confiabilidade no fluxo de dados é muito importante para que tenhamos a certeza de que os níveis de serviço (SLA) estipulados serão atendidos. Os esforços de validação de dados são exigidos para ter certeza que os dados estão corretos e/ou dentro do limite de qualidade aceitável, mas é igualmente importante considerar os fatores que influenciam na  confiabilidade global do fluxo de dados, desde sua origem, nos sistemas fontes, até a camada de apresentação das informações, e isso é feito durante a fase de projeto do ETL, estipulando quais são os passos apropriados a cada fase.

Considere a arquitetura de DW conhecida como (5*5) mostrada na Figura 1. Os dados se movimentam dos sistemas fontes para uma área de stage (área temporária de armazenamento), depois movimentado para uma stage de dados operacionais (ODS) e deste, são movimentados para o DW. Do DW são movimentados para os Data Marts e, finalmente, para a chamada camada final de apresentação.  Pode existir até cinco fases de ETL antes dos dados chegarem ao usuário. A confiabilidade em cada fase é importante, uma vez que cada uma destas fases é como um elo dentro de uma grande corrente.

Confiabilidade Revisada

A confiabilidade (R) de um sistema com n componentes em uma série é igual a

R = R1 * R2 * R3* R4* R5*… * Rn

Onde R1 a 5 = Confiabilidade dos componentes individuais do sistema.

 A confiabilidade (R) de um sistema com n componentes em paralelos é igual a

 R = 1/((1/R1 + 1/R2 + 1/R3 + 1/R4 + 1/R5+… + 1/Rn)/ n)

 Onde R1 a 5 = Confiabilidade individual dos componentes do sistema.

Aplicando os princípios acima para o fluxo de dados dentro de um framework de DW, existem duas variáveis básicas que pressionam a confiabilidade global. Elas são:

N = número de stages ou componentes do começo ao fim de um data flow, e

Rn = Confiabilidade dentro de uma fase.

Número de Stages ou Componentes (Fases)

O número de fases é muito importante, uma vez que a confiabilidade global reduz com o número de acréscimos de fases. Pense sobre um sistema com três fases em uma série com cada fase tendo um fator de confiabilidade de 0.9. A confiabilidade global do sistema será de 0.73 (0.9*0.9*0.9). Acrescente outra fase neste sistema, e a confiabilidade é reduzida para 0.65 (=0.9*0.9*0.9*0.9).

Confiabilidade de Componentes Individuais

A seção seguinte descreve como computar confiabilidade em cada etapa de ETL dentro do fluxo de dados. Em todos estes casos, presumimos que os programas (novos e velhos) tenham sido bem testados e validados,  com uma confiabilidade estimada de 100 por cento.

 Caso 1

A extração é feita nos sistemas de origem e os dados são armazenados em arquivos texto que se encontram em determinado servidor/partição/folder; Outro programa de ETL usa este arquivo TXT para transformar e carregar em tabelas (ver a figura 2).

A confiabilidade deste tipo de fase de ETL pode ser calculada como sendo:

Rn = R1 *R2 * R3 onde

R1 = Confiabilidade atribuída ao processo A da figura 2, a qual, para propósitos práticos, pode ser assumida como sendo o acesso aos dados de origem.

R2 = Confiabilidade atribuída ao processo central da figura 2, a qual pode ser representada como sendo a armazenagem do arquivo TXT no servidor/partição/folder.

R3 = Confiabilidade atribuída ao processo B da figura 2. Essa é igual à representada no servidor/partição/folder para as tabelas alocadas como destino.

Caso 2

Um programa faz ETL (ver figura 3).  A confiabilidade de tal fase pode ser calculada como:

Rn = R1 * R2 onde

R1 = Confiabilidade atribuída ao processo 1 da Figura 3, que é igual à disponibilidade do sistema de origem.

R2 = Confiabilidade do processo 3 da Figura 3, que pode ser assumida, para propósitos práticos, como sendo a disponibilidade do servidor de destino.

Uma comparação rápida dos dois casos acima revela que o caso 1 sempre terá uma confiabilidade mais baixa que o caso 2.

 Como calcular: Um Exemplo

 Na Figura 4, um DW Corporativo tem três fases de ETL: Dados de origem para a staging, da staging para o DW e do DW para o Data Mart.  A camada de apresentação acessa o Data Mart para relatórios e analises. Existem quatro sistemas de origem neste caso. Os detalhes de disponibilidade dos servidores estão indicados em parênteses.

Confiabilidade de E1 = 1/((1/0.95) + (1/0.93) + (1/0.96) + (1/0.90)/4) * 0.98 =  0.81

 (Os fluxos de dados da origem até a staging estão em paralelo.)

Confiabilidade de E2 = 0.98 * 0.94 = 0.92

Confiabilidade de E3 = 0.94 * 0.97 = 0.91

Confiabilidade do fluxo de dados global para o DW Corporativo = 0.81 * 0.92 * 0.91 = 0.68

Como podemos ver, a confiabilidade global do fluxo de dados é menos que 70 por cento embora a disponibilidade dos componentes individuais dentro do sistema seja mais de 90 por cento.

Se nós tivermos zonas de armazenagem intermediária (como na Figura 2), a confiabilidade global sera ainda menor que a apresentada acima.

Utilidade

Este conceito pode ser usado para especificar o SLA que poderá ser definido como possível para os serviços de ETL, baseados na disponibilidade dos sistemas de origem e na infra-estrutura que compõe o ambiente de DW propriamente dito.  Onde o requisito de latência o é muito estreito, a equipe de DW precisa examinar a confiabilidade global do sistema antes de se comprometer com um especifico SLA para o negócio.

Por outro lado, se certo nível de serviço é exigido pelo negócio, é recomendado que a arquitetura de ETL e fluxo de dados  sejam examinados visando uma possível melhoria na confiabilidade dentro dos componentes ou processos individuais dentro do framework do DW.

Até a próxima!

Uma resposta to “Como calcular a Confiabilidade em um DW”


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: