Você está na página 1de 5

POSTGRESQL X MONGODB: COMPARAO DOS RECURSOS PARA

MANIPULAO DE DADOS GEOGRFICOS



Angelo Augusto Frozza
1
; Eduarda Montibeller Schuch
2
; Gabriela Ohana Borba Catarina
3
.

1 Introduo

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

QUADRO 3 Mapeamento dos tipos de objetos espaciais complexos
OBJETOS ESPACIAIS ARRAYS
POSTGRESQL
OBJETOS ESPACIAIS ARRAYS
MONGODB
Multipoint
Multipolygon
Multilinestring
Geometrycolletion

QUADRO 4 Mapeamento das funes de processamento geomtrico
FUNES DE PROCESSAMENTO
GEOMTRICO POSTGRESQL
FUNES DE PROCESSAMENTO
GEOMTRICO MONGODB
ST_Centroid(geometry)
ST_Area(geometry)
ST_Length(geometry)
ST_Perimeter(geometry)
PointOnSurface(geometry)
ST_Boundary(geometry)
ST_Buffer(geometry, distance double,
[integer])

ST_Intersection(geometryA, geometryB)
ST_Difference(geometryA, geometryB)
ST_GeomUnion(geometryA, geometryB)

QUADRO 5 Mapeamento das funes de relacionamento espacial
FUNES DE RELACIONAMENTO
ESPACIAL POSTGRESQL

FUNES DE RELACIONAMENTO
ESPACIAL MONGODB
ST_Distance(geometryA, geometryB)
ST_Equals(geometryA, geometryB)
ST_Equals(geometryA, geometryB)
ST_Intersects(geometryA, geometryB)
ST_Touches(geometryA, geometryB)
ST_Crosses(geometryA, geometryB)
ST_Within(geometryA, geometryB)
ST_Overlaps(geometryA, geometryB)
ST_Contains(geometryA, geometryB)

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.

Você também pode gostar