• Nenhum resultado encontrado

UNIVERSIDADE FEEVALE ANDERSON BUENO TRINDADE CONVERSÃO DE UM DIAGRAMA E-R PARA UMA BASE DE DADOS MONGODB (NOSQL)

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE FEEVALE ANDERSON BUENO TRINDADE CONVERSÃO DE UM DIAGRAMA E-R PARA UMA BASE DE DADOS MONGODB (NOSQL)"

Copied!
12
0
0

Texto

(1)

UNIVERSIDADE FEEVALE

ANDERSON BUENO TRINDADE

CONVERSÃO DE UM DIAGRAMA E-R PARA UMA BASE DE

DADOS MONGODB (NOSQL)

(Título Provisório)

Anteprojeto de Trabalho de Conclusão

Novo Hamburgo

2015

(2)

ANDERSON BUENO TRINDADE

CONVERSÃO DE UM DIAGRAMA E-R PARA UMA BASE DE

DADOS MONGODB (NOSQL)

(Titulo Provisório)

Anteprojeto de Trabalho de Conclusão de Curso, apresentado como requisito parcial à obtenção do grau de Bacharel em Ciências da Computação pela Universidade Feevale

Orientador: Dr. Guillermo Nudelman Hess

Novo Hamburgo

2015

(3)

RESUMO

Alguns anos atrás, quando se falava o termo banco de dados, a maioria das pessoas imaginava um banco de dados relacional; algumas até desconheciam a existência do modelo de dados NoSQL. Atualmente, isso está mudando. Com o surgimento do contexto de Big Data e com o apoio de grandes empresas da área de tecnologia, como Google, Facebook, Yahoo, entre outras, o conceito do modelo de banco de dados não relacional está crescendo cada vez mais e com ele o espaço para o desenvolvimento de novas ferramentas para esse modelo de banco de dados. Esse trabalho tem o objetivo de contribuir como uma nova ferramenta para o modelo NoSQL, mais especificamente no auxílio para criação de uma base de dados utilizando o sistema MongoDB, com base em um diagrama de entidade e relacionamento, através da geração de comandos para criação da base de dados NoSQL, com informações extraídas do arquivo XML gerado pelo software BrModelo.

(4)

SUMARIO

MOTIVAÇÃO ...5 OBJETIVOS ...8 METODOLOGIA ...9 CRONOGRAMA ...10 BIBLIOGRAFIA ...11

(5)

MOTIVAÇÃO

Com o aumento exponencial de dados gerados a cada ano, provindos de áreas distintas como companhias aéreas, registros de cartões de crédito, redes sociais entre outras e a necessidade de se armazenar e analisar essas informações em tempo real, surgiu o termo Big Data que, segundo Silva et al (2013, p. 2, apud Begoli; Horey, 2012) "é a prática de coleta e processamento de grandes conjuntos de dados e sistemas e algoritmos utilizados para analisar estes conjuntos de dados massivos".

Para armazenar e organizar os dados gerados pode-se optar por dois conceitos distintos de banco de dados, que são os modelos de dados relacionais e os não relacionais. Bancos relacionais são baseados no modelo relacional, que “representa os dados da base de dados como uma coleção de relações. Informalmente, cada relação pode ser entendida como uma tabela ou um simples arquivo de registros.” (TAKAI, ITALIANO, FERREIRA, 2005, p. 38). Bancos de dados relacionais visam reduzir ao máximo a redundância dos dados e se utilizam das propriedades ACID (Atomicidade, Consistência, Isolamento, Durabilidade) que tem por padrão garantir a integridade e consistência dos dados. Alguns exemplos de sistemas que implementam este modelo de dados são o Mysql, PostgreSQL, Oracle e Microsoft SQL Server (NASCIMENTO, 2010, p. 5).

Banco de dados não relacionais, mais conhecidos como banco de dados NoSQL (Not Only SQL), por outro lado, não se preocupam muito com a redundância e a integridade dos dados. Eles têm como foco a velocidade de gravação e leitura dos dados e tem como uma das principais vantagens a escalabilidade horizontal que permite o crescimento da base de dados a um custo muito mais baixo se comparado aos bancos de dados relacionais (VIERA et al, 2012, p. 3-4).

De acordo com Tiwari (2011, p. 4, Tradução Nossa):

"NoSQL é usado hoje como um termo abrangente para todo banco de dados que não segue o popular e bem estabelecido princípio RDBMS (Relational

Database Management System) e muitas vezes se relacionam com grandes

conjuntos de dados acessados e manipulados em escala Web."

Sobre a comparação da redundância dos dados entre os dois tipos de bancos de dados (relacionais e NoSQL) Ramos e Nascimento (2015, p. 3) dizem que:

"A diferença que costuma mais chamar atenção (a até “chocar” os mais ortodoxos) é quanto à Redundância de dados. Quanto mais “doutrinado” no

(6)

modelo Relacional alguém estiver, mais ele vai achar estranho a abordagem NoSQL para essa questão."

Bancos de dados não relacionais vem se tornando cada vez mais utilizados muito em função do Big Data. O grande volume de dados está se tornando um problema para as empresas que precisam que os dados estejam disponíveis em tempo real. E projetando para o futuro, com base no histórico de crescimento de geração de dados, a questão do custo de expansão da base de dados influencia bastante na tomada de decisão, e há uma grande probabilidade das empresas acabarem optando por esse modelo, visto que bases NoSQL têm custos de escalabilidade bem menor do que bases relacionais (BRITES, 2012, p. 83). Grandes companhias como Google, Facebook, Yahoo, Amazon e Twitter já utilizam bancos de dados NoSQL.

Apesar de quebrar o paradigma do modelo relacional e ser adotado por grandes e conceituadas empresas, acredita-se que o modelo NoSQL não irá substituir o modelo relacional. O modelo de dados relacional ainda continuará atendendo muitos segmentos de negócio que efetuam muitas transações, principalmente de alterações de registros. Se necessário, os dois modelos podem ser utilizados simultaneamente e em conjunto, um para trabalhar com dados transacionais, caso dos bancos relacionais, e outro para grandes volumes de dados que não tem como foco alterações de dados e sim a inserção e inúmeras consultas, caso de bancos NoSQL.

O conceito NoSQL abrange vários tipos de modelos de dados não relacionais. Dentre eles estão os bancos de dados que trabalham com esquema de chave/valor, bancos de dados orientados a documentos, bancos de dados de grafos, banco de dados orientados a colunas (TIWARI, 2011). Esse trabalho terá como foco principal o banco de dados orientado a documentos, de modo a dar continuidade ao que foi iniciado no trabalho de conclusão de curso do Josias André Boone, realizado em 2014. Mais especificamente, será utilizado o sistema MongoDB, em função de ser um dos mais populares entre os que implementam o modelo de dados orientado a documentos.

Apesar dos bancos de dados NoSQL existirem desde 1998 (RAMOS; NASCIMENTO, 2015), sua adoção ainda não está bem estabelecida. Em realidade, sua popularização iniciou há alguns anos e está em crescimento. Pessoas e empresas ainda estão conhecendo esse modelo, até por inexistência de vasta bibliografias sobre o assunto e, principalmente, de ferramentas que auxiliem na modelagem de bancos de dados NoSQL. Existem algumas bibliografias com propostas de mapeamento para conversão de um banco de

(7)

dados relacional para um banco de dados NoSQL (BOONE, 2014) mas, efetivamente, ainda há carência de ferramentas que implementem esses mapeamentos.

Pelo fato de ainda existirem poucas referências bibliográficas e pela carência de ferramentas para operações específicas em cima de bancos NoSQL, este trabalho tem como objetivo contribuir com a fundamentação teórica sobre o assunto e com o desenvolvimento de uma ferramenta específica que tem por finalidade converter um modelo E-R, de um banco de dados relacional, em um script de criação de uma base de dados do modelo NoSQL, mais especificamente do banco de dados MongoDB, com base em um arquivo XML extraído do diagrama entidade relacionamento criado previamente no software BrModelo, visando auxiliar quem procura migrar seu banco de dados relacional para um banco de dados não relacional.

(8)

OBJETIVOS

Objetivo Geral

Transformar um arquivo XML gerado pelo software de modelagem de diagrama de entidade relacionamento BrModelo em um script com comandos de criação de uma base de dados para o banco dados NoSQL MongoDB.

Objetivos Específicos

 Revisar a bibliografia com as propostas para mapeamento do modelo entidade-relacionamento nas estruturas de um banco de dados orientado a documento e consolidá-las de modo ser possível a construção de uma ferramenta que automatize o processo;

 Criar regras para conversão das informações contidas no arquivo XML;  Converter arquivo XML em comandos de criação de base de dados;  Gerar arquivo com os comandos a serem executados no banco de dados;  Testar a execução do script de criação da base de dados.

(9)

METODOLOGIA

Será realizada uma pesquisa de natureza aplicada de objetivo exploratório com o propósito de implementar uma solução para o problema de criar uma base de dados NoSQL a partir de uma base de dados relacional.

A coleta de informações para o embasamento teórico será realizada através de pesquisa bibliográfica, com uso de livros, artigos científicos e trabalhos acadêmicos. O desenvolvimento do trabalho utilizará o método experimental. Para tanto, como instrumentos de auxílio no desenvolvimento e testes da ferramenta serão utilizados o software de criação de diagramas de entidade e relacionamento BrModelo para gerar o arquivo XML, o qual será utilizado como entrada para a geração do banco de dados para o MongoDB. Será desenvolvido ao menos um estudo de caso para aplicação do processo completo de criação da base de dados NoSQL a partir do diagrama E-R.

A abordagem para avaliação dos resultados será qualitativa, uma vez que será realizada uma análise indutiva dos mesmos, ou seja, se o banco de dados criado no MongoDB reflete o diagrama E-R modelado.

Seria possível migrar de forma automática uma base de dados de um banco de dados relacional para uma base de dados do banco de dados MongoDB a partir do diagrama de entidade relacionamento da base de dados do modelo relacional?

(10)

CRONOGRAMA

Trabalho de Conclusão I

Etapa

Meses

Mar Abr Mai Jun Buscar referencial teórico sobre NoSQL

Redação do Anteprojeto

Pesquisa sobre trabalhos equivalentes Pesquisa sobre MongoDB

Escrita do TC I

Trabalho de Conclusão II

Etapa

Meses

Ago Set Out Nov Análise do arquivo XML do modelo E-R

Geração de comandos de criação de base de dados

Testes de execução dos comandos de criação da base de dados

Escrita do TC II

(11)

BIBLIOGRAFIA

BOONE, Josias A. ESTUDO DE CASO DE CONVERSÃO DE UM BANCO DE DADOS

RELACIONAL PARA NOSQL (NÃO RELACIONAL). Universidade Feevale (Trabalho

de Conclusão de Curso). Novo Hamburgo, RS, p.1-69, 2014.

BRITES, Claudiomiro M. BANCO DE DADOS NOSQL CONCEITOS E

APLICABILIDADE. 2012. Disponível em:

<http://biblioteca.feevale.br/Monografia/MonografiaClaudiomiroBrites.pdf>. Acesso em: 13 mar. 2015.

BRITO, Ricardo W.; FACULDADE FARIAS BRITO; UNIVERSIDADE DE FORTALEZA.

Bancos de Dados NoSQL x SGBDs Relacionais:Análise Comparativa. Disponível em:

<http://www.infobrasil.inf.br/userfiles/27-05-S4-1-68840-Bancos%20de%20Dados%20NoSQL.pdf>. Acesso em: 16 mar. 2015.

MONGODB Big Data Explained. Disponível em: < http://www.mongodb.com/big-data-explained>. Acesso em: 17 mar. 2015.

NASCIMENTO, Jean. NoSQL – você realmente sabe do que estamos falando?. 2010. Disponível em: <http://imasters.com.br/artigo/17043/banco-de-dados/nosql-voce-realmente-sabe-do-que-estamos-falando/>. Acesso em: 14 mar. 2015.

RAMOS, José Y. A.; NASCIMENTO, Adriana F. NoSQL Conceitos e Evolução. Disponível em: <http://www.univale.com.br/unisite/mundo-j/artigos/51Nosql.pdf>. Acesso em: 15 mar. 2015.

SILVA, Ticiana L. C. da et al. Análise em Big Data e um Estudo de Caso utilizando

Ambientes de Computação em Nuvem. 2013. Disponível em:

<http://sbbd2013.cin.ufpe.br/Proceedings/artigos/pdfs/sbbd_min_01.pdf>. Acesso em: 20 mar. 2015.

TAKAI, Osvaldo K.; ITALIANO, Isabel C.; FERREIRA, João E. Introdução a Banco de

Dados. 2005. Disponível em: <https://www.up.ac.mz/cepe/images/apostila.pdf>. Acesso em:

16 mar. 2015.

(12)

VIEIRA, Marcos R. et al. Bancos de Dados NoSQL: Conceitos, Ferramentas, Linguagens

e Estudos de Casos no Contexto de Big Data. 2012. Disponível em:

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

v) por conseguinte, desenvolveu-se uma aproximação semi-paramétrica decompondo o problema de estimação em três partes: (1) a transformação das vazões anuais em cada lo-

Silva e Márquez Romero, no prelo), seleccionei apenas os contextos com datas provenientes de amostras recolhidas no interior de fossos (dado que frequentemente não há garantia

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças