Staging (data) - Staging (data)

Uma área de preparação , ou zona de aterrissagem , é uma área de armazenamento intermediária usada para processamento de dados durante o processo de extração, transformação e carregamento (ETL) . A área de preparação de dados fica entre a (s) fonte (s) de dados e o (s) destino (s) de dados, que geralmente são data warehouses , data marts ou outros repositórios de dados.

As áreas de preparação de dados são frequentemente de natureza transitória, com seu conteúdo sendo apagado antes de executar um processo ETL ou imediatamente após a conclusão bem-sucedida de um processo ETL. Existem arquiteturas de área de teste, no entanto, que são projetadas para conter dados por longos períodos de tempo para fins de arquivamento ou solução de problemas.

Implementação

As áreas de preparação podem ser implementadas na forma de tabelas em bancos de dados relacionais, arquivos simples baseados em texto (ou arquivos XML) armazenados em sistemas de arquivos ou arquivos binários formatados proprietários armazenados em sistemas de arquivos. As arquiteturas da área de teste variam em complexidade, desde um conjunto de tabelas relacionais simples em um banco de dados de destino até instâncias de banco de dados autocontidas ou sistemas de arquivos. Embora os sistemas de origem e os sistemas de destino suportados por processos ETL sejam geralmente bancos de dados relacionais, as áreas de preparação que ficam entre as origens e os destinos de dados também não precisam ser bancos de dados relacionais.

Funções

As áreas de teste podem ser projetadas para fornecer muitos benefícios, mas as principais motivações para seu uso são aumentar a eficiência dos processos de ETL, garantir a integridade dos dados e oferecer suporte às operações de qualidade dos dados. As funções da área de teste incluem o seguinte:

Consolidação

Uma das funções principais desempenhadas por uma área de teste é a consolidação de dados de vários sistemas de origem. Ao executar esta função, a área de teste atua como um grande "balde" no qual os dados de vários sistemas de origem podem ser colocados temporariamente para processamento posterior. É comum marcar dados na área de teste com metadados adicionais indicando a fonte de origem e carimbos de data / hora indicando quando os dados foram colocados na área de teste.

Alinhamento

O alinhamento de dados inclui a padronização de dados de referência em vários sistemas de origem e a validação de relacionamentos entre registros e elementos de dados de diferentes origens. O alinhamento de dados na área de teste é uma função intimamente relacionada aos recursos de gerenciamento de dados mestre e atuando como suporte .

Minimizando a contenção

A área de teste e os processos ETL que ela suporta são geralmente projetados com o objetivo de minimizar a contenção nos sistemas de origem. Copiar os dados necessários dos sistemas de origem para a área de teste de uma só vez é geralmente mais eficiente do que recuperar registros individuais (ou pequenos conjuntos de registros) em uma base única. O método anterior tira proveito de eficiências técnicas, como tecnologias de streaming de dados, sobrecarga reduzida por meio da minimização da necessidade de interromper e restabelecer conexões com sistemas de origem e otimização do gerenciamento de bloqueio de simultaneidade em sistemas de origem multiusuário. Copiando os dados de origem dos sistemas de origem e aguardando para realizar processamento e transformação intensivos na área de teste, o processo ETL exerce um alto grau de controle sobre problemas de simultaneidade durante o processamento.

Programação independente / alvos múltiplos

A área de teste pode suportar hospedagem de dados a serem processados ​​em planejamentos independentes e dados que devem ser direcionados a vários destinos. Em alguns casos, os dados podem ser puxados para a área de teste em momentos diferentes para serem mantidos e processados ​​de uma só vez. Essa situação pode ocorrer quando o processamento corporativo é feito em vários fusos horários todas as noites, por exemplo. Em outros casos, os dados podem ser trazidos para a área de teste para serem processados ​​em momentos diferentes; ou a área de teste pode ser usada para enviar dados para vários sistemas de destino. Como exemplo, os dados operacionais diários podem ser enviados para um armazenamento de dados operacionais (ODS), enquanto os mesmos dados podem ser enviados em um formulário agregado mensal para um armazenamento de dados.

Detecção de mudança

A área de teste oferece suporte a operações eficientes de detecção de alterações em sistemas de destino. Essa funcionalidade é particularmente útil quando os sistemas de origem não oferecem suporte a formas confiáveis ​​de detecção de alterações, como registro de data e hora imposto pelo sistema, controle de alterações ou captura de dados de alterações (CDC) .

Limpeza de dados

A limpeza de dados inclui a identificação e remoção (ou atualização) de dados inválidos dos sistemas de origem. O processo ETL que utiliza a área de teste pode ser usado para implementar a lógica de negócios para identificar e tratar dados "inválidos". Os dados inválidos geralmente são definidos por meio de uma combinação de regras de negócios e limitações técnicas. Além disso, restrições técnicas podem ser colocadas em estruturas de área de teste (como restrições de tabela em um banco de dados relacional) para impor regras de validade de dados.

Pré-cálculo agregado

O pré-cálculo de agregados, cálculos complexos e aplicação de lógica de negócios complexa podem ser feitos em uma área de teste para oferecer suporte a contratos de nível de serviço (SLAs) altamente responsivos para relatórios resumidos em sistemas de destino.

Arquivamento de dados e solução de problemas

O arquivamento de dados pode ser realizado em, ou apoiado por, uma área de teste. Neste cenário, a área de preparação pode ser usada para manter registros históricos durante o processo de carregamento ou pode ser usada para enviar dados para uma estrutura de arquivo de destino. Além disso, os dados podem ser mantidos na área de teste por longos períodos de tempo para dar suporte à solução de problemas técnicos do processo ETL.

Referências