Em boa parte da histria dos Sistemas de Gerenciamento de Banco de Dados (SGBDs), a linguagem de consulta SQL e seus descendentes sempre estiveram presentes. Apesar de vrias abordagens de arquitetura de SGBDs terem sido propostas (orientado a objetos, objeto-relacionais, XML etc.), os SGBDs relacionais acabaram se tornando um padro de fato para uso na indstria, atendendo completamente as necessidades da maior parte das aplicaes. Com o avano das aplicaes web no incio do sculo XXI, em especial o advento das redes sociais e grandes portais de informao, e a prpria natureza dos novos sistemas rodando na web, a arquitetura relacional comeou a apresentar algumas limitaes/problemas, especialmente associadas escalabilidade e performance. A escalabilidade est ligada capacidade de um sistema computacional poder crescer de forma rpida, para atender a uma demanda cada vez maior de usurios. A performance, por sua vez, est ligada velocidade com que o usurio recebe uma resposta das requisies efetuadas a um sistema. Assim sendo, essas novas aplicaes fizeram com que a indstria de software apresentasse novas propostas para estes dois problemas existentes devido s limitaes dos sistemas de armazenamento relacional. As novas aplicaes on-line exploram contedo em massa na Web 2.0 e, diante dos problemas encontrados, foram desenvolvidas solues proprietrias (CUNHA, 2011) que diferem do paradigma relacional, as quais foram reunidas sob o termo NoSQL (Not Only SQL). O paradigma dos bancos de dados NoSQL tm vrios objetivos. Alguns, por exemplo, tem a proposta de oferecer uma nova linguagem de consulta, que seja capaz de atender a determinadas consultas de forma mais eficiente que o SQL. J outros, so propostas de uma nova maneira de se trabalhar com os SGBDs, enfatizando as limitaes do SQL e as vantagens da sua linguagem. No entanto, ainda existe uma carncia de estudos que comprovem a real eficcia do modelo NoSQL perante o paradigma relacional. Enquanto Rob, Coronel e Crockett (2008) encaram o padro relacional como o maior avano para o usurio frente ao modelo anteriormente tradicional de armazenamento, Tiwari (2011) cita o modelo NoSQL como uma tendncia que tende a superar o homlogo modelo relacional no que se refere a escalabilidade horizontal e disponibilidade. Outro fato que, atualmente, bancos de dados NoSQL tm sido amplamente usados em implementaes de redes sociais e grandes portais, os quais se caracterizam pela necessidade de grandes volumes de consulta a dados e, por consequncia, escalabilidade e performance. Porm, h outro segmento que pode tomar proveito das caractersticas de bancos de dados NoSQL em relao ao tradicional padro relacional, que o segmento envolvido com o tratamento de dados geogrficos. Aplicaes que usam dados geogrficos como, por exemplo, os Sistemas de Informaes Geogrficas (SIG), caracterizam-se por terem baixo volume de incluso de novos dados, porm, alto volume de requisies de consulta.
1 Professor orientador do Instituto Federal Catarinense Campus Cambori 2 Aluno do curso Tcnico em Informtica do Instituto Federal Catarinense Campus Cambori 3 Aluno do curso Tcnico em Informtica do Instituto Federal Catarinense Campus Cambori O crescimento da Sociedade da Informao impulsionou o uso de Sistemas de Informaes Geogrficas nas organizaes e, em especial, o uso de dados georeferenciados em aplicaes web. A produo de dados georeferenciados tem um custo muito alto, gerando a necessidade das organizaes compartilharem e trocarem seus dados geogrficos, o que facilitado pelas redes de computadores e pela Internet (FROZZA, 2007). Sistemas de Informaes Geogrficas (SIGs) so sistemas que realizam o tratamento computacional de dados geogrficos. Diferente dos sistemas de informaes convencionais, os SIGs tm como principal caracterstica a capacidade de armazenar tanto os atributos descritivos como as geometrias dos diversos tipos de dados geogrficos (CMARA, 2005).
2 Objetivos
Este trabalho constitui em um estudo de caso que tem como objetivo realizar um comparativo entre o novo paradigma de armazenagem de dados NoSQL e um banco de dados relacional, visando o armazenamento e consulta de dados geogrficos. Porm, diferente de outros trabalhos que buscam avaliar a performance de bancos NoSQL, o foco deste trabalho est no estudo sobre os recursos disponveis para manipular dados geogrficos e seu uso. Para tanto, definiu-se que seria utilizado o banco de dados NoSQL MongoDB, devido sua caracterstica de ser orientado a documentos e por ser um dos primeiros a disponibilizar recursos para trabalhar com dados geogrficos. Em contrapartida, os recursos do MongoDB sero analisados em relao aos recursos disponibilizados pelo SGBD PostgreSQL/PostGIS que, atualmente, pode ser considerado um padro de fato em relao a SGBD livre para manipulao de dados geogrficos. Para a realizao desse estudo sero relacionados os recursos para manipulao de dados geogrficos presentes no PostgreSQL/PostGIS e verificado a existncia de recursos semelhantes no MongoDB. De forma complementar, sero realizados testes prticos nos dois modelos para o levantamento de dados para anlise do comportamento de armazenagem e recuperao de dados. Atravs dos dados levantados nesse trabalho ser possvel analisar as principais caractersticas desse novo modelo e comparar com o modelo relacional que amplamente utilizado. Com essas informaes ser possvel analisar diante dos requisitos de um SIG se vivel utilizar um banco de dados NoSQL na camada de acesso e manipulao de dados geogrficos. Este estudo de caso tambm servir de parmetro para verificar se o MongoDB pode ser empregado na construo da rede social prevista na Plataforma UrbanMob (FROZZA, 2012).
3 Material e Mtodos
Essa pesquisa de carter bibliogrfico e exploratrio. Baseada no conceito de Malheiros (2010), uma pesquisa bibliogrfica levanta o conhecimento disponvel na rea, possibilitando que o pesquisador conhea as teorias produzidas, analisando-as e avaliando sua contribuio para compreender ou explicar o seu problema objeto de investigao. E no conceito de Gil (2008), uma pesquisa exploratria tem como objetivo familiarizar-se com um assunto ainda pouco conhecido, pouco explorado. Ao final de uma pesquisa exploratria, voc conhecer mais sobre aquele assunto e estar apto a construir hipteses. Como qualquer explorao, a pesquisa exploratria depende da intuio do pesquisador. Por ser um tipo de pesquisa muito especfica, quase sempre ela assume a forma de um estudo de caso. Para o desenvolvimento deste projeto, faremos uma comparao dos recursos para armazenamento e manipulao de dados geogrficos existentes em um banco de dados NoSQL (MongoDB) em relao a um banco de dados relacional (PostgreSQL/PostGIS). Para tanto, ser necessrio inicialmente identificar e classificar os recursos (tipos de dados e funes pr-definidas) presentes no PostgreSQL/PostGIS. Para complementar o levantamento terico dessa etapa, sero implementados alguns exemplos demonstrando o uso dos recursos. Na sequncia, ser feita uma apresentao dos bancos de dados NoSQL e o levantamento de quais propostas de banco NoSQL j permitem o uso de dados geogrficos. Nesta etapa, ser estudado mais detalhadamente o banco de dados NoSQL MongoDB. Esta etapa importante para caracterizar os diferentes tipos de bancos de dados NoSQL e descrever essa nova tecnologia. Na sequncia, ser feito o estudo dos recursos para armazenamento e manipulao de dados geogrficos presentes no banco de dados NoSQL MongoDB. Como feito anteriormente com o PostgreSQL/PostGIS, a explicao dos recursos sero complementadas com exemplos prticos demonstrando o uso dos mesmos. Ao final, uma tabela comparativa ser gerada, a qual servir como ferramenta para anlise da aplicao do banco de dados MongoDB no projeto UrbanMob.
4 Resultados e Discusso
Para darmos incio a coleta de dados, comeamos estudando e aprofundando o conhecimento sobre o banco de dados relacional PostgreSQL e sua extenso PostGIS. O PostGIS , basicamente, uma extenso do PostgreSQL (Sistema de Gerenciamento de Banco de Dados Objeto-Relacional SGBDOR) que adiciona suporte manipulao e ao armazenamento de dados geogrficos no PostgreSQL. Com o PostGIS possvel realizar operaes abrangendo pontos, linhas, reas e volumes que se localizam no espao geogrfico. Esta extenso inclui suporte para ndices espaciais do tipo GiST (Generalized Search Tree) e R-Tree (Tree Data Structures), funes, tipos de dados e tambm suporta a realizao de consultas espaciais. Os Quadros de 1 a 5 apresentam os recursos para manipulao de dados geogrficos identificados no PostgreSQL/PostGIS. Esses quadros sero complementados com a incluso dos dados referentes ao MongoDB.
QUADRO 1 Mapeamento dos tipos de dados TIPOS DE DADOS POSTGRESQL TIPOS DE DADOS MONGODB Geography Geometry
QUADRO 2 Mapeamento dos tipos de objetos espaciais bsicos OBJETOS ESPACIAIS BSICOS POSTGRESQL OBJETOS ESPACIAIS BSICOS MONGODB Point Polygon Linestring
Na sequncia desse trabalho, o MongoDB ser estudado de forma mais aprofundada, a fim de verificar se oferece recursos semelhantes para trabalhar com dados geogrficos e, no caso de oferecer, como estes podem ser utilizados. O MongoDB um SGBD NoSQL criado pela empresa 10gen. orientado a documentos e se define como um SGBD escalvel e de alta performance, que tambm oferece suporte para manipulao de dados geogrficos. Os bancos de dados orientados a documentos so bastante diferentes dos tradicionais bancos de dados relacionais. Em vez de armazenar dados em estruturas rgidas, como tabelas, eles os armazenam em documentos vagamente definidos (CUNHA, 2011). Com base nos recursos apresentados nos quadros acima, exemplos prticos de uso sero desenvolvidos, como forma de demonstrar cada recurso e permitir realizar um comparativo dos mesmos para manipulao de dados geogrficos entre ambos os bancos de dados citados a cima.
5 Concluso
Com o objetivo de comparar e analisar os recursos para a manipulao de dados geogrficos no banco de dados relacional PostgreSQL/PostGIS e no banco de dados NoSQL MongoDB, j obtivemos alguns resultados como a identificao dos tipos de dados, dos objetos espaciais e as funes espaciais presentes no PostgreSQL. Pode-se afirmar que ambos SGBDs do suporte a manipulao e armazenamento de dados geogrficos e satisfazem as necessidades para estes fins.
6 Agradecimentos
Agradecemos ao Instituto Federal Catarinense - Cmpus Cambori, que incentivou os pesquisadores desta pesquisa, com o financiamento parcial do projeto por meio de uma bolsa de Iniciao Cientfica do Edital 037/GDG/IFC-CAM/2012.
7 Referncias bibliogrficas
CMARA, G. Representao computacional de dados geogrficos. In: CASANOVA, M. A. et al. (org.) Bancos de dados geogrficos. Curitiba: MundoGEO, 2005. p. 11-52. CUNHA, T. M. de A. Escalabilidade de Sistemas com Banco de Dados NoSQL: um Estudo de Caso Comparativo com MongoDB e MySQL. 2011. 85 f. Trabalho de Concluso de Curso (Cincia da Computao) Centro Universitrio da Bahia Estcio, Salvador. FROZZA, A. A. Plataforma UrbanMob: Infraestrutura para armazenamento de trajetrias urbanas de objetos mveis. Projeto de IC submetido ao edital IFC 037/GDG/IFC-CAM/2012. Cambori, 2012. GIL, A. C. Como elaborar projetos de pesquisa. 5. ed. So Paulo: Atlas, 2008. MALHEIROS, R. T. L. Pesquisa Bibliogrfica: Transcrevendo conceitos e citando autores nos trabalhos acadmicos. Disponvel em: <http://silvanosulzarty.blogspot.com.br/ 2010/04/pesquisa-bibliografica-transcrevendo.html>. Acessado em: 22 ago. 2012. ROB, P.; CORONEL, C.; CROCKETT, K. Database systems: design, implementation & management. [S.l.; s.n.].Cengage Learning, 2008. TIWARI, S. Professional NoSQL. [S.l.]John Wiley & Sons. 2011.