Novas tendências para o desenvolvimento de soluções de ETL

Conforme o renomado especialista Ralph Kimball ressaltou em um artigo de Setembro/2014, a construção de ETLs representa em torno de 50 a 70% dos custos, riscos e tempo de atuação em projetos de Data Warehouse.

A implementação de processos deste tipo parte sempre de um ou mais repositórios de origem, de onde serão extraídos dados para posterior transformação. São justamente tais características que originaram o nome destas soluções, já que o termo “ETL” é uma abreviação do inglês “Extraction, Transformation and Load”. Importante destacar que as modificações mencionadas acontecem levando em conta regras inerentes a um determinado contexto; ao final disto os dados tratados serão persistidos em um repositório de destino (normalmente uma base de dados relacional).

Na Imagem 1 é possível observar a representação esquemática de um processo de ETL hipotético. A execução deste procedimento engloba 2 estágios principais:

  • → Um primeiro passo envolverá o preenchimento de uma área de Staging, com dados provenientes de 3 fontes de origem (uma base Oracle, duas bases SQL Server). Além de bancos de dados relacionais, poderiam também ser consumidos aqui dados provenientes de arquivos de texto (incluindo o formato CSV), planilhas do Excel ou, até mesmo, bases Access;
  • → Num segundo momento os dados da área de Staging serão transferidos para o Data Warehouse. Este processo acontece após uma eventual limpeza daquilo que se obteve das fontes de origem, com a consequente transformação dos dados em um formato compatível com o das tabelas que formam os diferentes Data Marts do Data Warehouse de destino.
  • Imagem 1. Exemplo de arquitetura hipotética envolvendo o uso de ETLs

    Imagem 1. Exemplo de arquitetura hipotética envolvendo o uso de ETLs

No caso específico do desenvolvimento em plataforma Microsoft, é bom lembrar que o SQL Server conta com um serviço conhecido como Integration Services para a criação de ETLs. Incorporando recursos do .NET Framework a funcionalidades para a manipulação de bases relacionais, XML e outros formatos para a representação de dados, esta ferramenta torna possível a implementação dos mais variados tipos de projetos visando o gerenciamento de informações. A construção de soluções de ETL baseadas no Integration Services se dá a partir do Visual Studio, sendo este último uma suíte de desenvolvimento fornecida pela própria Microsoft.

É inegável a maturidade que os princípios e técnicas que regem a construção de ETLs atingiram ao longo dos anos. Contudo, o surgimento de novas necessidades de negócio, novos tipos de usuário e, mesmo, todo o avanço recente envolvendo tecnologias para a manipulação de grandes volumes de dados exigem a busca por novas abordagens.

A existência de dezenas ou mesmo centenas de fontes de dados dentro de uma mesma organização é hoje um grande desafio a ser superado. Outro ponto que vem merecendo bastante destaque é o volume e a velocidade com os quais tais dados têm sido gerados, superando em um curto espaço de tempo as quantidades outrora produzidas por aplicações de cunho mais convencional. Situações deste tipo têm levado os profissionais de Business Intelligence a repensar a forma como os projetos de Data Warehouse são conduzidos, sobretudo no que se refere à implementação de processos de ETL.

A revolução desencadeada pelo paradigma conhecido como Big Data tem afetado profundamente o ambiente organizacional. Mesmo empresas de menor porte têm demonstrado interesse na exploração de massas de dados que chegam à casa dos petabytes. A variedade destes dados é outro fator que gera uma série de dificuldades para a condução de projetos de BI. Soluções convencionais como bancos relacionais e as ferramentas de ETL tradicionais podem não ser mais adequadas para o atendimento destas demandas, as quais geralmente envolvem dados bastante diversificados e cujo volume inviabiliza a transferência entre diferentes repositórios. Tais aspectos acabam por tornar impraticável o uso de Staging Areas ou, até mesmo, a modelagem de novas bases para Data Warehouse.

Embora relatórios pré-definidos e queries ad hoc (consultas geradas quando da ocorrência de necessidades específicas) ainda sejam importantes, vem crescendo o uso de ferramentas baseadas num conceito conhecido como Operational Analytics. Tais soluções possibilitam a elaboração de análises sofisticadas em tempo real, relegando a um segundo plano a execução em batch e updates periódicos de um Data Warehouse (atividades estas típicas de um processo de ETL).

A ascensão da função de Data Scientist nas organizações é outro desafio a ser encarado dentro da área de Business Intelligence. Muitos destes profissionais atuam em projetos estratégicos em conjunto com as áreas de negócio, sendo fundamental a participação de especialistas de TI em processos que envolvam a geração de análises a partir de dados pré-existentes. Para viabilizar esta interação será necessário, primeiramente, uma compreensão de como a implementação de ETLs poderá contribuir com demandas que envolvam mineração de dados e experimentos em tempo real. Além disso, será de extrema importância a definição da infraestrutura que suportará a condução destas atividades.

O uso crescente de bancos de dados orientados a colunas e de processamento em memória é outra tendência, observada principalmente em processos que exigem uma alta performance no tratamento de grandes volumes de dados. A adoção destas práticas é favorecida graças aos menores custos para a expansão da memória RAM em ambientes computacionais distribuídos (sobretudo em serviços de cloud computing), além de mecanismos como o modelo de MapReduce oferecido pela plataforma Hadoop (o qual possibilita a implementação de programas para a consulta e tratamento de dados em soluções de Big Data). Há a expectativa de grandes avanços na forma como ETLs são implementados, a fim de que tais processos sejam capazes de se beneficiar das vantagens oferecidas por estas novas tecnologias.

Soluções de Data Virtualization também vêm conquistando terreno e, em alguns casos, substituindo a necessidade de implementação de ETLs em projetos de Business Intelligence. Ao invés das transformações típicas de um ETL, ferramentas deste tipo executam uma série de computações equivalentes em tempo de execução. A escolha de uma alternativa que empregue Data Virtualization poderá significar uma maior velocidade de implementação de um projeto de BI; contudo, o efeito colateral disto poderá ser uma queda de performance no acesso a uma fonte de dados.

Toda esta evolução aqui discutida implicará, sem sombra de dúvidas, em inovações envolvendo a implementação de ETLs nos próximos anos. Espero que este conteúdo possa ter sido útil, servindo inclusive de motivação para eventuais pesquisas sobre os temas apresentados.

Até uma próxima oportunidade!

Renato Groffe – Consultor em TI, MCTS
http://rgroffe.wordpress.com/

Links

Big Data: uma visão geral
http://opendotnetbr.azurewebsites.net/2014/12/big-data-visao-geral/

Business Intelligence: uma visão geral
http://netcoders.com.br/blog/business-intelligence-uma-visao-geral/

Conceitos básicos de Business Intelligence
http://netcoders.com.br/blog/conceitos-basicos-de-business-intelligence/

Integration Services 2012: Implementando soluções de ETL – Parte 1
http://www.devmedia.com.br/integration-services-2012-implementando-solucoes-de-etl-parte-1/29623

Integration Services 2012: implementando soluções de ETL – Parte 2
http://www.devmedia.com.br/integration-services-2012-implementando-solucoes-de-etl-parte-2/29875

Comentarios

comentarios