Integrando banco de dados relacional e orientado a grafos para otimizar consultas com alto grau de indireção Marino Hilário Catarino DISSERTAÇÃO APRESENTADA AO INSTITUTO DE MATEMÁTICA E ESTATÍSTICA DA UNIVERSIDADE DE SÃO PAULO PARA OBTENÇÃO DO TÍTULO DE MESTRE EM CIÊNCIAS Programa de Mestrado em Ciência da Computação Orientador: Prof. Dr. João Eduardo Ferreira São Paulo, 10 de novembro de 2017 ii Integrando banco de dados relacional e orientado a grafos para otimizar consultas com alto grau de indireção Esta versão da dissertação contém as correções e alterações sugeridas pela Comissão Julgadora durante a defesa da versão original do trabalho, realizada em 10/11/2017. Uma cópia da versão original está disponível no Instituto de Matemática e Estatística da Universidade de São Paulo. Comissão Julgadora: Prof. Dr. João Eduardo Ferreira – IME-USP Prof. Dr. Flávio Soares Corrêa da Silva – IME-USP Prof. Dr. Marcio Katsumi Oikawa - UFABC iii iv Agradecimentos Agradeço ao meu orientador, Prof. Dr. João Eduardo Ferreira, não somente pela oportunidade oferecida, mas pela confiança e amizade ao longo destes anos. Os ensinamentos, tanto no meio acadêmico quanto fora dele me acompanharão para sempre. Aos meus pais, Antônio e Maria Hilário, por tudo que fizeram e tem feito por mim, sempre me apoiando e ajudando. Agradeço a minha esposa Clara e ao meu irmão Andrei, por sempre estarem ao meu lado, me escutando e incentivando nesta nova etapa. Agradeço aos amigos de jornada, Bruno, Rafael, Rodrigo, Pedro, Mauro e a todos que contribuíram ao longo destes anos, pois o trabalho entregue não só é possível graças as opiniões, mas pelos conselhos e contribuições de todos. v vi Resumo CATARINO, M. H. Integrando banco de dados relacional e orientado a grafos para otimizar consultas com alto grau de indireção. 2017. Dissertação de Mestrado - Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo, 2017. Um indicador importante na área acadêmica está relacionado ao grau de impacto de uma publicação, o que pode auxiliar na avaliação da qualidade e do grau de internacionalização de uma instituição. Para melhor delimitar esse indicador torna-se necessária a realização de uma análise das redes de colaboração dos autores envolvidos. Considerando que o modelo de dados relacional é o modelo predominante dos bancos de dados atuais, observa-se que a análise das redes de colaboração é prejudicada pelo fato desse modelo não atender, com o mesmo desempenho, a todos os tipos de consultas realizadas. Uma alternativa para executar as consultas que perdem desempenho no modelo de banco de dados relacional é a utilização do modelo de banco de dados orientado a grafos. Porém, não é claro quais parâmetros podem ser utilizados para definir quando utilizar cada um dos modelos de bancos de dados. Assim, este trabalho tem como objetivo fazer uma análise de consultas que, a partir da sintaxe da consulta e do ambiente de execução, possa apontar o modelo de dados mais adequado para execução da referida consulta. Com essa análise, é possível delimitar em que cenários uma integração entre o modelo relacional e o orientado a grafos é mais adequada. Palavras-chave: banco de dados orientado a grafos, integração, NoSQL, internacionalização, redes de colaboração. vii viii Abstract CATARINO, M. H. Integrating relational and graph-oriented database to optimize queries with high degree of indirection. 2017. Master’s Dissertation - Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo, 2017. An important indicator in the academic area is related to the degree of impact of a publication that can help in evaluating the quality and degree of internationalization in academic institutions. One approach to better understand the aforementioned indicator is analyzing the collaboration network formed by each researcher. In order to analyze this network, several alternatives use the well known relational data model which is predominant in most databases used today. Even though this model is widely used, it has a performance drawback when some types of queries are performed. For overcoming this drawback, certain alternatives are using a graph-oriented database model which is similar to a collaboration network model. However, it is unclear what parameters can be used to define when to use a relational or graph-oriented model. In this work, we propose an analysis of queries that, from the syntax of a query and the execution environment, can point to the most suitable data model for the execution given a specific query. With this query analysis, it is possible to delimit in which scenarios an integration between the relational and the graph-oriented models is more appropriate. Keywords: graph database, integration, NoSQL, internationalization, collaboration networks. ix x
Description: