what is etl extract
Este tutorial aprofundado sobre o processo ETL explica o fluxo do processo e as etapas envolvidas no processo ETL (extração, transformação e carga) no data warehouse:
Este tutorial da série explica: O que é processo ETL? Extração de dados, transformação, carregamento, arquivos simples, o que é teste? Ciclo ETL, etc.
Vamos começar!!
=> Confira o Guia de treinamento de Data Warehousing perfeito aqui.
O que você aprenderá:
- Fundamentos do processo ETL (Extract, Transform, Load)
- Conclusão
Fundamentos do processo ETL (Extract, Transform, Load)
Público-alvo
- Desenvolvedores e testadores de data warehouse / ETL.
- Profissionais de banco de dados com conhecimento básico de conceitos de banco de dados.
- Administradores de banco de dados / especialistas em big data que desejam entender as áreas de data warehouse / ETL.
- Graduados / recém-formados que procuram empregos em Data warehouse.
O que é o processo ETL no data warehouse?
Todos nós sabemos que Data warehouse é uma coleção de grandes volumes de dados, para fornecer informações aos usuários de negócios com a ajuda de ferramentas de Business Intelligence.
Para atender a esse propósito, o DW deve ser carregado em intervalos regulares. Os dados no sistema são coletados de um ou mais sistemas operacionais, arquivos simples, etc. O processo que traz os dados para o DW é conhecido como Processo ETL . Extração, transformação e carregamento são as tarefas do ETL.
# 1) Extração: Todos os dados preferidos de vários sistemas de origem, como bancos de dados, aplicativos e arquivos simples, são identificados e extraídos. A extração de dados pode ser concluída executando trabalhos fora do horário comercial.
# 2) Transformação: A maioria dos dados extraídos não podem ser carregados diretamente no sistema de destino. Com base nas regras de negócios, algumas transformações podem ser feitas antes de carregar os dados.
Por exemplo, os dados de uma coluna de destino podem esperar dados concatenados de duas colunas de origem como entrada. Da mesma forma, pode haver uma lógica complexa para a transformação de dados que precisa de especialização. Alguns dados que não precisam de nenhuma transformação podem ser movidos diretamente para o sistema de destino.
O processo de transformação também corrige os dados, remove quaisquer dados incorretos e corrige quaisquer erros nos dados antes de carregá-los.
# 3) Carregando: Todas as informações coletadas são carregadas nas tabelas do Data Warehouse de destino.
Extração de dados
A extração de dados desempenha um papel importante no projeto de um sistema DW de sucesso. Diferentes sistemas de origem podem ter diferentes características de dados, e o processo ETL gerenciará essas diferenças de maneira eficaz ao extrair os dados.
' Mapa lógico de dados ”É um documento base para extração de dados. Isso mostra quais dados de origem devem ir para qual tabela de destino e como os campos de origem são mapeados para os respectivos campos da tabela de destino no processo ETL.
Abaixo estão as etapas a serem realizadas durante a concepção do mapa de dados lógicos:
- Um arquiteto de data warehouse projeta o documento de mapa lógico de dados.
- Ao referir-se a este documento, o desenvolvedor ETL criará trabalhos ETL e os testadores ETL criarão casos de teste.
- Todas as fontes de dados específicas e os respectivos elementos de dados que suportam as decisões de negócios serão mencionados neste documento. Esses elementos de dados atuarão como entradas durante o processo de extração.
- Os dados de todos os sistemas de origem são analisados e qualquer tipo de anomalia de dados é documentado para que isso ajude a projetar as regras de negócios corretas para parar de extrair os dados errados no DW. Esses dados são rejeitados aqui mesmo.
- Depois que o modelo de dados de origem e destino final é projetado pelos arquitetos de ETL e analistas de negócios, eles podem conduzir uma caminhada com os desenvolvedores de ETL e testadores. Com isso, eles obterão um entendimento claro de como as regras de negócios devem ser executadas em cada fase de Extração, Transformação e Carregamento.
- Ao percorrer as regras de mapeamento deste documento, os arquitetos, desenvolvedores e testadores de ETL devem ter um bom entendimento de como os dados fluem de cada tabela como dimensões, fatos e quaisquer outras tabelas.
- Qualquer tipo de regras ou fórmulas de manipulação de dados também é mencionada aqui para evitar a extração de dados errados. Por exemplo, extraia apenas os últimos 40 dias de dados, etc.
- É responsabilidade da equipe de ETL fazer uma busca detalhada nos dados de acordo com os requisitos de negócios, para trazer todos os sistemas de origem úteis, tabelas e dados de colunas a serem carregados no DW.
O documento de mapa de dados lógicos geralmente é uma planilha que mostra os seguintes componentes:
(tabela “” não encontrada /)Diagrama de fluxo de extração:
Declare antecipadamente sobre a janela de tempo para executar as tarefas em cada sistema de origem, de modo que nenhum dado de origem seja perdido durante o ciclo de extração.
Com as etapas acima, a extração atinge o objetivo de converter dados de diferentes formatos de diferentes fontes em um único formato DW, que beneficia todos os processos de ETL. Esses dados colocados logicamente são mais úteis para uma melhor análise.
Métodos de extração em data warehouse
Dependendo dos ambientes de dados de origem e destino e das necessidades de negócios, você pode selecionar o método de extração adequado para seu DW.
# 1) Métodos de extração lógica
A extração de dados em um sistema de data warehouse pode ser uma carga completa única feita inicialmente (ou) pode ser cargas incrementais que ocorrem todas as vezes com atualizações constantes.
como você abre arquivos xml
- Extração Completa: Como o próprio nome sugere, os dados do sistema de origem são completamente extraídos para a tabela de destino. Cada vez que esse tipo de extração carrega todos os dados do sistema de origem atual, sem considerar os últimos registros de data e hora extraídos. De preferência, você pode usar a extração completa para as cargas iniciais ou tabelas com menos dados.
- Extração incremental: Os dados que são adicionados / modificados a partir de uma data específica serão considerados para extração incremental. Esta data é específica do negócio como a última data extraída (ou) a data do último pedido, etc. Podemos nos referir a uma coluna de carimbo de data / hora da própria tabela de origem (ou) uma tabela separada pode ser criada para rastrear apenas os detalhes da data de extração. Fazer referência ao carimbo de data / hora é um método significativo durante a extração incremental. As lógicas sem carimbo de data / hora podem falhar se a tabela DW tiver muitos dados.
# 2) Métodos de extração física
Dependendo dos recursos dos sistemas de origem e das limitações de dados, os sistemas de origem podem fornecer os dados fisicamente para extração como extração online e extração offline. Isso suporta qualquer um dos tipos de extração lógica.
- Extração Online :: Podemos nos conectar diretamente a qualquer banco de dados do sistema de origem com as strings de conexão para extrair dados diretamente das tabelas do sistema de origem.
- Extração offline :: Não iremos conectar diretamente ao banco de dados do sistema de origem aqui, em vez disso, o sistema de origem fornece dados explicitamente em uma estrutura predefinida. Os sistemas de origem podem fornecer dados na forma de arquivos simples, arquivos de despejo, logs de arquivo e espaços de tabela.
As ferramentas ETL são mais adequadas para realizar qualquer extração de dados complexos, qualquer número de vezes para DW, embora sejam caras.
Extraindo dados alterados
Depois que o carregamento inicial for concluído, é importante considerar como extrair os dados que são alterados do sistema de origem. A equipe de processo ETL deve projetar um plano sobre como implementar a extração para as cargas iniciais e as cargas incrementais, no início do próprio projeto.
Geralmente, você pode considerar a estratégia de “colunas de auditoria” para a carga incremental para capturar as alterações de dados. Em geral, as tabelas do sistema de origem podem conter colunas de auditoria, que armazenam o registro de data e hora para cada inserção (ou) modificação.
O carimbo de data / hora pode ser preenchido por gatilhos de banco de dados (ou) do próprio aplicativo. Você deve garantir a precisão dos dados das colunas de auditoria, mesmo se elas estiverem sendo carregadas por qualquer meio, para não perder os dados alterados para cargas incrementais.
Durante o carregamento incremental, você pode considerar a data e hora máximas de quando o último carregamento aconteceu e extrair todos os dados do sistema de origem com o carimbo de data / hora maior que o último carimbo de tempo de carregamento.
Ao extrair os dados:
- Use as consultas de maneira ideal para recuperar apenas os dados de que você precisa.
- Não use a cláusula Distinct, pois ela retarda o desempenho das consultas.
- Use os operadores SET, como Union, Minus, Intersect com cuidado, pois isso prejudica o desempenho.
- Use palavras-chave de comparação, como like, between, etc, na cláusula where, em vez de funções como substr (), to_char (), etc.
Transformação de Dados
Transformação é o processo em que um conjunto de regras é aplicado aos dados extraídos antes de carregar diretamente os dados do sistema de origem no sistema de destino. Os dados extraídos são considerados dados brutos.
O processo de transformação com um conjunto de padrões traz todos os dados diferentes de vários sistemas de origem em dados utilizáveis no sistema DW. A transformação de dados visa a qualidade dos dados. Você pode consultar o documento de mapeamento de dados para todas as regras de transformação lógica.
Com base nas regras de transformação, se algum dado de origem não atender às instruções, esses dados de origem serão rejeitados antes de serem carregados no sistema DW de destino e colocados em um arquivo rejeitado ou tabela de rejeição.
As regras de transformação não são especificadas para os dados das colunas de carregamento direto (não precisa de nenhuma alteração) da origem ao destino. Portanto, as transformações de dados podem ser classificadas como simples e complexas. As transformações de dados podem envolver conversões de coluna, reformatação da estrutura de dados, etc.
Abaixo estão algumas das tarefas a serem realizadas durante a transformação de dados:
# 1) Seleção: Você pode selecionar todos os dados da tabela ou um conjunto específico de dados de colunas dos sistemas de origem. A seleção de dados geralmente é concluída na própria Extração.
Pode haver casos em que o sistema de origem não permite selecionar um conjunto específico de dados de colunas durante a fase de extração, em seguida, extrair todos os dados e fazer a seleção na fase de transformação.
# 2) Dividir / juntar: Você pode manipular os dados selecionados dividindo-os ou juntando-os. Você será solicitado a dividir os dados de origem selecionados ainda mais durante a transformação.
Por exemplo, se todo o endereço for armazenado em um único campo de texto grande no sistema de origem, o sistema DW pode pedir para dividir o endereço em campos separados como cidade, estado, código postal, etc. Isso é fácil de indexar e analisar com base em cada componente individualmente.
Considerando que juntar / mesclar dados de duas ou mais colunas é amplamente usado durante a fase de transformação no sistema DW. Isso não significa mesclar dois campos em um único campo.
Por exemplo, se as informações sobre uma determinada entidade vêm de várias fontes de dados, a coleta das informações como uma única entidade pode ser chamada de união / fusão dos dados.
# 3) Conversão: Os dados extraídos dos sistemas de origem podem estar em formatos diferentes para cada tipo de dados, portanto, todos os dados extraídos devem ser convertidos em um formato padronizado durante a fase de transformação. O mesmo tipo de formato é fácil de entender e usar para decisões de negócios.
# 4) Resumo: Em algumas situações, o DW procurará dados resumidos em vez de dados detalhados de baixo nível dos sistemas de origem. Porque os dados de baixo nível não são mais adequados para análise e consulta pelos usuários de negócios.
Por exemplo, os dados de vendas para cada caixa podem não ser exigidos pelo sistema DW, as vendas diárias de subproduto (ou) as vendas diárias da loja são úteis. Portanto, a sumarização de dados pode ser realizada durante a fase de transformação de acordo com os requisitos de negócios.
# 5) Enriquecimento: Quando uma coluna DW é formada pela combinação de uma ou mais colunas de vários registros, o enriquecimento de dados reorganiza os campos para uma melhor visualização dos dados no sistema DW.
# 6) Revisões de formato: As revisões de formato acontecem com mais frequência durante a fase de transformação. O tipo de dados e seu comprimento são revisados para cada coluna.
Por exemplo, uma coluna em um sistema de origem pode ser numérica e a mesma coluna em outro sistema de origem pode ser um texto. Para padronizar isso, durante a fase de transformação, o tipo de dados para esta coluna é alterado para texto.
# 7) Decodificação de campos: Quando você extrai dados de vários sistemas de origem, os dados em vários sistemas podem ser decodificados de forma diferente.
Por exemplo, um sistema de origem pode representar o status do cliente como AC, IN e SU. Outro sistema pode representar o mesmo status que 1, 0 e -1.
Durante a fase de transformação de dados, você precisa decodificar esses códigos em valores adequados que sejam compreensíveis pelos usuários de negócios. Portanto, os códigos acima podem ser alterados para Ativo, Inativo e Suspenso.
# 8) Valores calculados e derivados: Ao considerar os dados do sistema de origem, o DW pode armazenar dados de coluna adicionais para os cálculos. Você deve fazer os cálculos com base na lógica de negócios antes de armazená-los no DW.
# 9) Conversão de data / hora: Este é um dos principais tipos de dados para se concentrar. O formato de data / hora pode ser diferente em sistemas de múltiplas fontes.
Por exemplo, uma fonte pode armazenar a data como 10 de novembro de 1997. Outra fonte pode armazenar a mesma data no formato 10/11/1997. Portanto, durante a transformação de dados, todos os valores de data / hora devem ser convertidos em um formato padrão.
# 10) Eliminação de duplicação: Caso o sistema de origem tenha registros duplicados, certifique-se de que apenas um registro seja carregado no sistema DW.
Diagrama de fluxo de transformação:
Como implementar a transformação?
Dependendo da complexidade das transformações de dados, você pode usar métodos manuais, ferramentas de transformação (ou) combinação de ambos, o que for eficaz.
# 1) Técnicas manuais
As técnicas manuais são adequadas para pequenos sistemas DW. Analistas e desenvolvedores de dados criarão os programas e scripts para transformar os dados manualmente. Este método precisa de testes detalhados para cada parte do código.
O custo de manutenção pode ser elevado devido às mudanças que ocorrem nas regras de negócio (ou) devido às chances de obter erros com o aumento dos volumes de dados. Você deve cuidar dos metadados inicialmente e também com cada mudança que ocorre nas regras de transformação.
# 2) Ferramentas de transformação
Se você deseja automatizar a maior parte do processo de transformação, então pode adotar as ferramentas de transformação dependendo do orçamento e do prazo disponível para o projeto. Ao automatizar, você deve dedicar um tempo de boa qualidade para selecionar as ferramentas, configurar, instalar e integrá-las ao sistema DW.
A transformação praticamente completa com as próprias ferramentas não é possível sem intervenção manual. Mas os dados transformados pelas ferramentas são certamente eficientes e precisos.
Para conseguir isso, devemos inserir parâmetros adequados, definições de dados e regras para a ferramenta de transformação como entrada. A partir das entradas fornecidas, a própria ferramenta gravará os metadados e esses metadados serão adicionados aos metadados DW gerais.
Se houver alguma mudança nas regras de negócios, basta inserir essas mudanças na ferramenta, o resto das modificações de transformação serão feitas pela própria ferramenta. Portanto, é eficiente o uso de uma combinação de ambos os métodos.
Carregando Dados
Os dados extraídos e transformados são carregados nas tabelas DW de destino durante a fase de carregamento do processo ETL. A empresa decide como o processo de carregamento deve acontecer para cada mesa.
O processo de carregamento pode acontecer das seguintes maneiras:
como adicionar maven ao eclipse
- Carga inicial: Carregando os dados para preencher as respectivas tabelas DW pela primeira vez.
- Carga incremental: Depois que as tabelas DW são carregadas, o restante das alterações em andamento são aplicadas periodicamente.
- Atualização completa: Se alguma tabela em uso precisar de uma atualização, os dados atuais dessa tabela serão completamente removidos e recarregados. O recarregamento é semelhante ao carregamento inicial.
Veja o exemplo abaixo, para uma melhor compreensão do processo de carregamento em ETL:
ID do produto | Nome do Produto | Data de Venda |
---|---|---|
1 | Livro de gramatica | 3 de junho de 2007 |
dois | Marcador | 3 de junho de 2007 |
3 | Mochila | 4 de junho de 2007 |
4 | Boné | 4 de junho de 2007 |
5 | Sapato | 5 de junho de 2007 |
# 1) Durante o carregamento inicial, os dados que são vendidos em 3rdJunho de 2007 é carregado na tabela de destino DW porque são os dados iniciais da tabela acima.
#dois) Durante o carregamento incremental, precisamos carregar os dados que são vendidos após 3rdJunho de 2007. Devemos considerar todos os registros com a data de venda maior que (>) a data anterior para o dia seguinte. Portanto, em 4ºJunho de 2007, buscar todos os registros com data de venda> 3rdJunho de 2007 usando consultas e carregue apenas os dois registros da tabela acima.
Em 5ºJunho de 2007, buscar todos os registros com data de venda> 4ºJunho de 2007 e carregue apenas um registro da tabela acima.
# 3) Durante a atualização completa, todos os dados da tabela acima são carregados nas tabelas DW em um momento, independentemente da data de venda.
Os dados carregados são armazenados nas respectivas dimensões (ou) tabelas de fatos. Os dados podem ser carregados, anexados ou mesclados às tabelas DW da seguinte maneira:
# 4) Carregar: Os dados são carregados na tabela de destino se ela estiver vazia. Se a tabela possuir alguns dados, os dados existentes serão removidos e carregados com os novos dados.
Por exemplo,
Dados da tabela existente
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | Liderar |
Prumo | Assistente de gerente |
Ronald | Desenvolvedor |
Dados Alterados
nome do empregado | Função |
---|---|
John | Gerente |
Rohan | diretor |
Chetan | AVP |
O | VP |
Dados após o carregamento
nome do empregado | Função |
---|---|
John | Gerente |
Rohan | diretor |
Chetan | AVP |
O | VP |
# 5) Anexo: Append é uma extensão da carga acima, pois funciona em tabelas já existentes. Nas tabelas de destino, Append adiciona mais dados aos dados existentes. Se qualquer registro duplicado for encontrado com os dados de entrada, ele pode ser anexado como duplicado (ou) pode ser rejeitado.
Por exemplo,
Dados da tabela existente
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | Liderar |
Dados Alterados
nome do empregado | Função |
---|---|
John | Gerente |
Rohan | diretor |
Chetan | AVP |
O | VP |
Dados após anexar
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | Liderar |
Rohan | diretor |
Chetan | AVP |
O | VP |
# 6) Mesclagem destrutiva: Aqui, os dados de entrada são comparados com os dados de destino existentes com base na chave primária. Se houver uma correspondência, o registro de destino existente será atualizado. Se nenhuma correspondência for encontrada, um novo registro será inserido na tabela de destino.
Por exemplo,
Dados da tabela existente
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | Liderar |
Dados Alterados
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | diretor |
Chetan | AVP |
O | VP |
Dados após fusão construtiva
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | diretor |
Chetan | AVP |
O | VP |
# 7) Construtivo vai: Ao contrário da mesclagem destrutiva, se houver uma correspondência com o registro existente, ele deixa o registro existente como está e insere o registro de entrada e o marca como o último dado (carimbo de data / hora) em relação a essa chave primária.
Por exemplo,
Dados da tabela existente
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | Liderar |
Dados Alterados
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | diretor |
Chetan | AVP |
O | VP |
Dados após fusão construtiva
nome do empregado | Função |
---|---|
John | Gerente |
Revanth | Diretor*** |
Revanth | Liderar |
Chetan | AVP |
O | VP |
Tecnicamente, atualizar é mais fácil do que atualizar os dados. A atualização precisa de uma estratégia especial para extrair apenas as alterações específicas e aplicá-las ao sistema DW, enquanto Atualizar apenas substitui os dados. Mas atualizar os dados leva mais tempo, dependendo dos volumes de dados.
Se você tiver esses trabalhos de atualização para serem executados diariamente, pode ser necessário desativar o sistema DW para carregar os dados. Em vez de desativar todo o sistema DW para carregar dados todas as vezes, você pode dividir e carregar os dados na forma de poucos arquivos.
Anote o tempo de execução de cada carga durante o teste. Se algum dado não puder ser carregado no sistema DW devido a qualquer incompatibilidade de chave, etc., forneça a eles maneiras de lidar com esse tipo de dado. Certifique-se de que os dados carregados sejam testados exaustivamente.
Diagrama de fluxo de carregamento:
Arquivos planos
Arquivos simples são amplamente usados para trocar dados entre sistemas heterogêneos, de diferentes sistemas operacionais de origem e de diferentes sistemas de banco de dados de origem para aplicativos de data warehouse. Arquivos simples são mais eficientes e fáceis de gerenciar também para sistemas homogêneos.
Arquivos simples são usados principalmente para os seguintes fins:
# 1) Entrega de dados de origem: Pode haver poucos sistemas de origem que não permitirão que os usuários de DW acessem seus bancos de dados por motivos de segurança. Nesses casos, os dados são entregues por meio de arquivos simples.
Da mesma forma, os dados são provenientes de fornecedores externos ou sistemas de mainframes essencialmente na forma de arquivos simples, e estes serão enviados por FTP pelos usuários ETL.
# 2) Mesas de trabalho / preparo: O processo ETL cria tabelas de teste para seu propósito interno. A associação de tabelas temporárias com os arquivos simples é muito mais fácil do que o SGBD porque as leituras e gravações em um sistema de arquivos são mais rápidas do que inserir e consultar um banco de dados.
# 3) Preparação para carregamento em massa: Assim que os processos de Extração e Transformação forem concluídos, se o carregamento em massa in-stream não for compatível com a ferramenta ETL (ou) Se desejar arquivar os dados, você poderá criar um arquivo simples. Esses dados de arquivo simples são lidos pelo processador e carregam os dados no sistema DW.
Os arquivos simples podem ser criados de duas maneiras como “Arquivos simples de comprimento fixo” e “Arquivos simples delimitados”. Arquivos simples podem ser criados pelos programadores que trabalham para o sistema de origem.
Vamos ver como processamos esses arquivos simples:
Processando arquivos planos de comprimento fixo
Em geral, os arquivos simples são de colunas de comprimento fixo, portanto, também são chamados de arquivos simples posicionais. Abaixo está o layout de um arquivo simples que mostra os campos exatos e suas posições em um arquivo.
Nome do Campo | Comprimento | Começar | Fim | Modelo | Comentários |
---|---|---|---|---|---|
Primeiro nome | 10 | 1 | 10 | Texto | Primeiro nome do cliente |
Nome do meio | 5 | onze | quinze | Texto | Nome do meio do cliente |
Sobrenome | 10 | 16 | 25 | Texto | Sobrenome do cliente |
O layout contém o nome do campo, comprimento, posição inicial em que o caractere de campo começa, a posição final na qual o caractere de campo termina, o tipo de dados como texto, numérico, etc. e comentários, se houver.
Dependendo das posições dos dados, a equipe de teste ETL validará a precisão dos dados em um arquivo simples de comprimento fixo.
Processando arquivos simples delimitados
Em Arquivos Simples Delimitados, cada campo de dados é separado por delimitadores. Este delimitador indica a posição inicial e final de cada campo. Em geral, uma vírgula é usada como delimitador, mas você pode usar qualquer outro símbolo ou um conjunto de símbolos.
Os arquivos delimitados podem ter extensão .CSV (ou) extensão .TXT (ou) sem extensão. Os desenvolvedores que criam os arquivos ETL indicarão o símbolo delimitador real para processar esse arquivo. No layout de arquivo delimitado, a primeira linha pode representar os nomes das colunas.
Da mesma forma que os arquivos simples posicionais, a equipe de teste ETL validará explicitamente a precisão dos dados do arquivo simples delimitado.
Objetivo da área de preparação
O principal objetivo da área de teste é armazenar dados temporariamente para o processo ETL. A área de preparação é conhecida como backroom do sistema DW. O arquiteto ETL decide se armazena dados na área de teste ou não.
O teste ajudará a obter os dados dos sistemas de origem muito rapidamente. Ao mesmo tempo, no caso de falha do sistema DW, você não precisa iniciar o processo novamente reunindo dados dos sistemas de origem se os dados de teste já existirem.
Após o processo de extração de dados, aqui estão os motivos para preparar dados no sistema DW:
# 1) Recuperabilidade: As tabelas de teste preenchidas serão armazenadas no próprio banco de dados DW (ou) podem ser movidas para sistemas de arquivos e podem ser armazenadas separadamente. Em algum ponto, os dados de teste podem atuar como dados de recuperação se qualquer transformação ou etapa de carregamento falhar.
Pode haver chances de que o sistema de origem tenha substituído os dados usados para ETL, portanto, manter os dados extraídos na preparação nos ajuda para qualquer referência.
# 2) Backup: É difícil fazer backup de grandes volumes de tabelas de banco de dados DW. Mas os backups são essenciais para qualquer recuperação de desastres. Portanto, se você tiver os dados de teste que são dados extraídos, poderá executar as tarefas para transformação e carregamento, portanto, os dados com falha podem ser recarregados.
Para fazer backup dos dados de teste, você pode frequentemente mover os dados de teste para sistemas de arquivos para que sejam fáceis de compactar e armazenar em sua rede. Sempre que necessário, apenas descompacte os arquivos, carregue-os nas tabelas de teste e execute os trabalhos para recarregar as tabelas DW.
# 3) Auditoria: Às vezes, uma auditoria pode acontecer no sistema ETL, para verificar a ligação de dados entre o sistema de origem e o sistema de destino. Os auditores podem validar os dados de entrada originais em relação aos dados de saída com base nas regras de transformação.
Os dados de teste e seu backup são muito úteis aqui, mesmo se o sistema de origem tiver os dados disponíveis ou não. Como a auditoria pode acontecer a qualquer momento e em qualquer período dos dados presentes (ou) passados. A arquitetura da área de teste deve ser bem planejada.
Projetando a área de teste
No data warehouse, os dados da área de teste podem ser projetados da seguinte forma:
Com cada novo carregamento de dados nas tabelas de teste, os dados existentes podem ser excluídos (ou) mantidos como dados históricos para referência. Se os dados forem excluídos, eles serão chamados de “área de teste temporário”.
Se os dados forem mantidos como histórico, eles serão chamados de “área de teste persistente”. Você também pode projetar uma área de teste com uma combinação dos dois tipos acima, que é “Híbrida”.
Aqui estão as regras básicas a serem conhecidas ao projetar a área de teste:
- Apenas a equipe ETL deve ter acesso à área de preparação de dados. Consultar os dados de teste é restrito a outros usuários.
- As tabelas na área de teste podem ser adicionadas, modificadas ou eliminadas pelo arquiteto de dados ETL sem envolver outros usuários. Como a área de teste não é uma área de apresentação para geração de relatórios, ela atua apenas como uma bancada.
- O arquiteto de ETL deve estimar a medida de armazenamento de dados da área de teste para fornecer os detalhes aos administradores de DBA e SO. Os administradores alocarão espaço para bancos de dados de teste, sistemas de arquivos, diretórios, etc.
Se a área de teste e o banco de dados DW estiverem usando o mesmo servidor, você poderá mover facilmente os dados para o sistema DW. Se os servidores forem diferentes, use links de banco de dados FTP (ou).
Fluxo de processo ETL
Um ciclo ETL padrão passará pelas etapas de processo abaixo:
- Dê início ao ciclo ETL para executar jobs em sequência.
- Certifique-se de que todos os metadados estejam prontos.
- O ciclo ETL ajuda a extrair os dados de várias fontes.
- Valide os dados extraídos.
- Se as tabelas de teste forem usadas, o ciclo ETL carrega os dados no teste.
- ETL realiza transformações aplicando regras de negócios, criando agregados, etc.
- Se houver alguma falha, o ciclo ETL o notificará na forma de relatórios.
- Em seguida, o ciclo ETL carrega os dados nas tabelas de destino.
- Os dados anteriores que precisam ser armazenados para referência histórica são arquivados.
- O resto dos dados que não precisam ser armazenados são limpos.
Diagrama de fluxo de processo ETL:
Conclusão
Neste tutorial, aprendemos sobre os principais conceitos do Processo ETL no Data Warehouse. Agora, você deve ser capaz de entender o que é Extração de Dados, Transformação de Dados, Carregamento de Dados e o fluxo do processo ETL.
Leia o próximo tutorial para saber mais sobre o Teste de Data Warehouse !!
=> Visite aqui para obter a série exclusiva de armazenamento de dados.
Leitura recomendada
- Tutorial de teste de data warehouse com exemplos | Guia de teste ETL
- As 10 melhores ferramentas de mapeamento de dados úteis no processo ETL (2021 LIST)
- Teste ETL Tutorial de teste de data warehouse (um guia completo)
- Mineração de dados: processo, técnicas e questões importantes na análise de dados
- Processo de mineração de dados: modelos, etapas do processo e desafios envolvidos
- Perguntas e respostas da entrevista de teste de ETL
- As 10 principais ferramentas de teste de ETL em 2021
- As 10 principais ferramentas populares de data warehouse e tecnologias de teste