masterThesis
ETL4NoSQL: um framework programável para extração, transformação e carga de banco de dados NoSQL
Autor
AGUENA, Carine Calixto
Institución
Resumen
A integração de dados e os processos de extração, transformação e carga de dados (ETL) são procedimentos cruciais para a criação de data warehouses (DW). Porém, os processos de ETL e integração de dados são habitualmente desenvolvidos para dados estruturados por modelos relacionais, que representam apenas uma pequena parte dos dados mantidos por muitas empresas. Dessa forma, existe uma demanda crescente para extrair, transformar e carregar dados estruturados por modelos de dados não relacionais e carregá-los em um repositório de dados unificado. Porém, devido à complexidade desses modelos de dados, existem vários desafios para a realização da extração, transformação e carga de dados organizados por modelos não relacionais que precisam considerar características específicas como, por exemplo, a heterogeneidade e distribuição dos dados, em um ambiente de extração, transformação e carga de dados. Além disso, muitas empresas encontram dificuldades ao lidar com as ferramentas de ETL disponíveis no mercado, por causa muitas vezes da necessidade de integração destas ferramentas de ETL com sistemas legados. Aprender a lidar com essas ferramentas pode ser muito custoso em termos financeiro e de tempo e, por isso, muitas empresas acabam optando por desenvolver os seus processos utilizando uma linguagem de programação de propósito geral. Portanto, o resultado deste trabalho foi o ETL4NoSQL, um framework programável, flexível e integrado para auxiliar a modelagem e execução de processos de ETL, que possibilita a extração, transformação e carga de dados estruturados em modelos de dados não relacionais. Apresentamos os componentes do framework ETL4NoSQL, bem como suas interfaces e funcionalidades. Ademais, realizamos um estudo experimental de software, que teve como objetivo verificar se o ETL4NoSQL é adequado para auxiliar no desenvolvimento de processos de ETL. O estudo consistiu na análise das ferramentas de ETL estudadas, com o propósito de caracterizá-las por meio de suas funcionalidades no contexto comparativo entre elas, e ele demonstrou que o framework proposto é adequado para sua finalidade. Finalmente, propomos um ambiente de implementação de ETL que permite o reuso e a extensão de interfaces de programação de ETL4NoSQL para desenvolver aplicações de ETL utilizando dois tipos diferentes de SGBD NoSQL. As aplicações expressaram a facilidade na programação, reuso e extensão dos processos de ETL. Data integration and data extraction, transformation, and loading (ETL) processes are procedures for creating data warehouses (DW). However, ETL processes and data integration are usually developed for data structured by relational models, which represent only a small part of the data maintained by many companies. In this way, there is a growing demand to extract, transform, and load structured data from non relational data models and load them into a unified data repository. However, due to the complexity of the data models, there are several challenges for an extraction, transformation and loading of data organized by non relational models, requirements, specific characteristics, such as heterogeneity and distribution of data, in an environment of extraction, transformation and data loading. In addition, many companies are struggling to deal with ETL tools available in the market, often because of the need to integrate ETL tools with legacy systems. Learning how to handle these tools can be very costly in terms of time and financially, and so many companies end up opting to develop their processes using a general purpose programming language. Therefore, the result of this work was the ETL4NoSQL, a programmable, flexible and integrated framework to support the modeling and execution of ETL processes, which allows the extraction, transformation and loading of structured data in nonrelational data models. We present the components of the ETL4NoSQL framework, as well as its interfaces and functionalities. In addition, we conducted an experimental software study, which aimed to verify if ETL4NoSQL is suitable to assist in the development of ETL processes. The study consisted of the analysis of the ETL tools studied, with the purpose of characterizing them through their functionalities in the comparative context between them, and he demonstrated that the proposed framework is suitable for its purpose. Finally, we propose an ETL implementation environment that allows the reuse and extension of ETL4NoSQL programming interfaces to develop ETL applications using two different types of NoSQL DBMS. Applications have demonstrated ease in programming, reuse and extension of ETL processes.