Você está na página 1de 34

UNIVERSIDADE SALVADOR

CURSO DE GRADUAO EM ENGENHARIA DE COMPUTAO

PEDRO VUVU LVARO

UMA REVISO SISTEMTICA PARA O USO DE


BANCOS DE DADOS NOSQL.

Salvador
2014

UNIVERSIDADE SALVADOR
CURSO DE GRADUAO EM ENGENHARIA DE COMPUTAO

PEDRO VUVU LVARO

UMA REVISO SISTEMTICA PARA O USO DE


BANCOS DE DADOS NOSQL.

Trabalho de concluso do curso de Engenharia


da Computao apresentado Universidade
Salvador, como requisito parcial para obteno
do ttulo de Engenheiro de Computao.
Orientador: Prof. Dr. Glauco de F. Carneiro

Salvador
2014

DEDICATRIA

Dedico este trabalho minha


famlia,

em

falecido pai.

especial

ao

meu

AGRADECIMENTO

Agradeo primeiramente a Deus por me permitir a vida e iluminar a minha


trajetria; A minha me Wete Esperana e ao meu pai Antnio Diangazo (in
memoriam) por terem me concebido e me educado para a Vida. Ao meu tio
Pedro Neves pela parceria, incentivo e pelo constante apoio e carinho. Ao meu
padrasto Paulo pela fora. A minha querida av Catarina, pelo exemplo e
ensinamentos.
A existncia significativa dos meus irmos lvaro (Don Eva), Maria da
Conceio, Gildo e primo lvaro Neves.
Ao meu orientador Prof. Dr. Glauco de Figueiredo Carneiro, ao Rafael
Cardoso e aos meus professores Artur, Francisco Lemos, Rafael Valverde,
Thomas, pelos conhecimentos transmitidos.
Aos meus amigos Garcia Nvemba, Gilson, Edson, Esperana, Joo
Baptista, Jorge e a todos que de alguma forma me deram fora para chegar
aqui. Obrigado por acreditarem em mim, no meu potencial e nas minhas ideias.
Obrigado por todo apoio prestado.

LISTA DE FIGURAS

Figura 1- Arquitetura Redis (CAMPANELLI, 2011 apud FRIESS, 2013). .......... 12


Figura 2- Exemplo de String Redis (MARQUE, 2010). ......................................... 12
Figura 3- Exemplo de List Redis (MARQUE, 2010). .............................................. 13
Figura 4- Exemplo de Hash Redis (MARQUE, 2010)............................................ 13
Figura 5- Exemplo de um documento html no buckets Riak (FRIESS, 2013) ... 14
Figura 6- Exemplo de um documento JSON Riak (FRIESS, 2013). ................... 15
Figura 7- Diagrama Ilustrativo das operaes Map e Reduce (EVORA, 2013). 16
Figura 8- Exemplo de insero de registro no MongoDB (ANDERSON, 2013) 17
Figura 9- Exemplo de consulta de registro no MongoDB (ANDERSON, 2013) 17
Figura 10- Exemplo de Grafos (ALMEIDA, 2011). ................................................. 18
Figura 11- Modelo de dado Neo4j (NEO4J, 2012 apud FRIESS, 2013). ........... 19
Figura 12- Exemplo de consulta no Neo4j (ALMEIDA, 2011). ............................. 19
Figura 13- Exemplo de modelo baseado em coluna (LSCIO, 2011). .............. 20
Figura 14- Modelo de dados do Cassandra (PERERA, 2012) ............................. 21
Figura 15- Exemplo de registro no Cassandra (SILVA, 2012) ............................. 21
Figura 16- Etapas do processo de seleo dos artigos ........................................ 29

SUMRIO
INTRODUO ................................................................................................................ 8

1
1.1

CONTEXTUALIZAO ............................................................................................. 8

1.2

PROBLEMTICA........................................................................................................ 9

1.3

JUSTIFICATIVA .......................................................................................................... 9

1.4

APRESENTAO DE SEES............................................................................ 10
REFERENCIAL TERICO ......................................................................................... 10

2
2.1

MODELOS DE DADOS NOSQL ............................................................................ 10

2.1.1

Modelo chave-valor (key-value) .................................................................. 11

2.1.1.1

Redis .............................................................................................................. 11

2.1.1.2

Riak ................................................................................................................ 14

2.1.2

Modelo Baseado em Documento ............................................................... 15

2.1.2.1

CouchDB ....................................................................................................... 15

2.1.2.2

MongoDB ...................................................................................................... 16

2.1.3
2.1.3.1
2.1.4
2.1.4.1
2.2

Grafos ................................................................................................................ 17
Neo4j .............................................................................................................. 18
Modelo Orientado a Coluna ......................................................................... 20
Cassandra .................................................................................................... 21

TEOREMA CAP ........................................................................................................ 22


PROTOCOLO DA REVISO SISTEMTICA ......................................................... 24

3
3.1

OBJETIVO ................................................................................................................. 24

3.2

QUESTES DE PESQUISA .................................................................................. 24

3.3

CRITRIO E SELEO DE FONTES .................................................................. 25

3.4

PALAVRAS CHAVES .............................................................................................. 25

3.5

STRING DE BUSCA ................................................................................................ 25

3.6

FONTES DE BUSCA ............................................................................................... 25

3.7

TIPOS DE TRABALHOS E IDIOMAS ................................................................... 26

3.8

CRITRIO DE INCLUSO E EXCLUSO DE ARTIGOS ................................. 26

3.8.1

CRITRIO DE INCLUSO ............................................................................. 26

3.8.2

CRITRIO DE EXCLUSO ............................................................................ 26

3.9

CRITRIOS DE QUALIDADE ................................................................................ 27

3.10

PROCESSO DE SELEO DOS ARTIGOS ....................................................... 28

3.11

AVALIAO DOS ARTIGOS ................................................................................. 28

3.12

ETAPAS DO PROCESSO DE SELEO DOS ARTIGOS ............................... 29

3.13

RESULTADOS .......................................................................................................... 30
CONSIDERAES FINAIS ....................................................................................... 32

REFERNCIA ........................................................................................................................... 33

INTRODUO
Esta Seo tem carter introdutrio e traz consigo elementos que

fundamentam a pesquisa pretendida, o problema a ser explorado e por fim a


justificativa do estudo.

1.1

CONTEXTUALIZAO

Date (2004) define banco de dados como uma coleo de dados


persistentes usados por aplicaes de determinada empresa (organizaes
comerciais, unidade governamental, universidades) ou indivduo. Ainda, um
Sistema de Banco de Dados (SGBD) um sistema computadorizado com
objetivo de armazenar informaes e permitir que os usurios busquem e
atualizem essas informaes quando as solicitar.
Para minimizar os gastos, empresas foram foradas a investir em
pesquisas de meios mais barato de armazenamento e indexao (organizar) de
arquivos (OLIVEIRA, 2007). desta forma que nas dcadas de 1960 e 1970
foram apresentados vrios modelos de banco de dados, tais como hierrquico,
rede, relacional, orientado a objeto, objeto relacional.
O modelo relacional se firmou no mercado e hoje o mais utilizado dos
SGBDs. Empresas desenvolveram SGBDs robustos como, por exemplo, o SQL
Server, Oracle, Postgres SQL, Mysql (BRITO, 2010). O modelo relacional
caracterizado por tabelas (linhas e colunas), restries (chaves primarias e
chaves estrangeiras), restries estas que servem para garantir a integridade
dos dados/informaes (BRITO, 2010).
Com o elevado nmero de dados gerados diariamente em diversas
organizaes, indivduos, aplicaes web, laboratrios, redes sociais, etc., os
SGBDs relacionais comeam a apresentar limitaes para manipular,
processar e armazenar grandes volumes de dados. Ainda, o modelo apresenta
problemas para tratar dados complexos como, por exemplo, informaes de
biologia molecular, e multimdia (udio e vdeo), o que fez surgir modelos
alternativos.

Surgiu uma nova gerao de bancos de dados, chamada NoSQL(Not


Only SQL) trazendo consigo uma abordagem diferente de persistncia de
dados, com base na disponibilidade, desempenho e escalabilidade de dados;
modelo este que passou a ser utilizado em situaes em que os SGBDs
tradicionais apresentam limitaes de desempenho e modelagem de dados
complexos.
Atualmente empresas como, Facebook, Google, Amazon, Twitter, IBM,
Yahoo, etc. fazem o uso dos bancos NoSQL (Lscio, Olveira, Pontes, 2011).
Alguns projetos existentes desse modelo so: MongoDB, Redis, BigTable
(Google), Dynamo (Amazon), Cassandra (Facebook), CouchDB, HyperTable, e
etc.
A utilizao de um modelo fora do padro relacional pode se d devido a
complexidade dos dados que a aplicao precisa suportar. Os Software de
visualizao, por exemplo, so um domnio de maior complexidade e que, em
diversos casos, se opta por modelos fora do padro relacional.

1.2

PROBLEMTICA

No foi encontrada uma reviso sistemtica da literatura da utilizao de


bancos NoSQL em Software de visualizao.

1.3

JUSTIFICATIVA

Tendo em conta o nmero de banco de dados existente e utilizados em


aplicaes web, empresas, etc., h uma necessidade de avaliar os variados
bancos de dados ou solues de persistncia utilizadas nos ambientes de
visualizao de informao. Um mapeamento da literatura deve trazer
referncias adequadas para o estudo e compreenso das aplicaes que
utilizam paradigmas diferentes do relacional, principalmente o NoSQL.

10

1.4

APRESENTAO DE SEES

A segunda Seo apresenta o referencial terico relacionado ao modelo


de dados NoSQL, alm de exemplos de SGBDs NoSQL.
A segunda Seo faz referncia ao protocolo da reviso sistemtica e os
elementos que compe este protocolo, tais como, objetivo, as questes de
pesquisa, a seleo de fontes, bem como as fontes de busca, os critrios de
incluso e excluso, os critrios de qualidade, palavras chaves, a string de
busca, o processo de seleo dos artigos, a avaliao dos artigos, as etapas
do processo de seleo dos artigos e os resultados obtidos.
A quarta Seo contm as consideraes finais.

REFERENCIAL TERICO

2.1

MODELOS DE DADOS NOSQL

Os bancos NoSQL apresentam diversas caractersticas em comum, tais


como,

esquema

flexvel,

alta

disponibilidade,

maior

escalabilidade

desempenho; porem diferencia-se quanto ao modelo de dados.


A escalabilidade consiste no aumento da capacidade de processamento,
armazenamento na mquina ou do sistema BD NoSQL. A seguir so
apresentados os modelos de dados NoSQL:

Modelo chave valor (key-value);


Orientado a documento;
Orientado a coluna;
Orientado a grafos.

11

2.1.1 Modelo chave-valor (key-value)

Considerado como sendo o modelo mais simples, parece com uma tabela
hash, onde a informao do contedo armazenada e a ela atribuda uma
chave/ndice que servira para mape-lo. Contedo este que pode ser uma
string, matriz ou objeto (TOTH, 2011). Vale lembrar que o armazenamento ou
persistncia de dados neste modelo totalmente livre de definies, ou seja,
possui um esquema flexvel (TOTH, 2011). Como exemplo: Redis e Riak.

2.1.1.1

Redis

Remote Dictionary Server (Redis), base de dado que faz a persistncia


chave-valor, suporta estrutura de dados como, Lists, sets, hash table (Strings e
Integers), Ordered Sets. Criado sob a licena BSD (Berkeley Software
Distribution) e escrito na linguagem C, funciona no Linux, Mac OS, Solaris, etc.
O Redis mantm os dados na memria; existem duas formas de persistir
os dados em disco: RDB e AOF (Append Only File). A primeira forma baseia-se
em copiar o contedo (dados) que est na memoria RAM para o disco; e a
segunda forma consiste em anexar em um arquivo de log cada comando
enviado ao servidor. (REDIS, 2012 apud FRIESS, 2013).
A seguir so apresentadas algumas de suas caractersticas:

Possui bibliotecas para quase todas as linguagens de


programao;

Faz o uso da memria virtual (VM);

Faz leitura e escrita de 100.000 operaes por segundo;

Faz uso de operaes atmicas, ou seja, uma alterao por


vez;

Suporta get/set, push/pop, add/remove, union, interest, diffs,


opes de ordenao e outros;

Apresenta alta performance em aplicaes com dados em


tempo real (Preo das aes).

O Redis um banco de dado que funciona como cliente/servidor.


Constitudo por um servidor que recebe conexes na porta 6379 (Padro) e,

12

um cliente que faz o envio de comandos via protocolo de comunicao.


(FRIESS, 2013).

Figura 1- Arquitetura Redis (CAMPANELLI, 2011 apud FRIESS, 2013).

A figura 1 ilustra o diagrama da arquitetura, onde o redis_server convesa


com os clientes atravs do redis protocol, protocolo este que tem a funo de
criar a conexo TCP que permita o envio de comandos ao redis-server pelos
clientes, como por exemplo o redis+cli
Alguns exemplos de operaes/comandos usados em Redis:
String

Figura 2- Exemplo de String Redis (MARQUE, 2010).

13

List

Figura 3- Exemplo de List Redis (MARQUE, 2010).

Hash

Figura 4- Exemplo de Hash Redis (MARQUE, 2010)

14

Dentre as empresas/sistemas que fazem o uso de Redis, destacam-se:


Mercado Livre, Guardian.co.Uk, stackoverflow, flicker, github, etc.

2.1.1.2

Riak

um banco de dados chave-valor, com sistema distribudo e altamente


escalvel; escrito em linguagem Erlang, baseando-se no Dynamo da Amazon.
Possui suporte para Map/Reduce, altamente disponvel em rede, total controle
de memria, open source, mas disponvel em verso comercial, tolerante
falha, ou seja, pode perder acesso aos servidores Riak (falha na rede), mas
no perder os dados. Compatvel com os sistemas Linux, Mac OS e Solaris.
O armazenamento e a referencia dos dados feito atravs de par
bucket/chave, sendo que cada chave est associada a um nico valor; valor
este que pode ser um arquivo binrio, html, texto, documento do tipo Json.
(Riak, 2012 apud Friess, 2013).
Buckets so colees ou tabelas, fazem agrupamento de objetos
semelhantes; uma de suas propriedades de determinar como os objetos
sero persistidos, por exemplo, n_val, esta varivel define o numero de vezes
que um objeto ser replicado no cluster. No Riak no h conceito de n mster,
o que existe cluster, significa que todos os ns so iguais, permitindo assim
maior resistncia a falhas.
As empresas que fazem o uso do Riak so: Mozilla, github (busca), Best
Buy, Aol, Kabam, Voxer e etc.

Figura 5- Exemplo de um documento html no buckets Riak (FRIESS, 2013)

15

Figura 6- Exemplo de um documento JSON Riak (FRIESS, 2013).

2.1.2 Modelo Baseado em Documento

As bases de dados baseada em documento parecem muito com as


baseadas em chave-valor, diferem-se apenas na forma de armazenamento,
visto que neste modelo para persistir os dados faz-se necessrio conhecer o
formato do contedo, facilitando assim a sua interpretao ao banco de dados.
Dentre as extenses/formatos de arquivos h: xml, json, json-blob. (TOTH,
2011). O couchDB e MongoDB so exemplos de base de dados orientados a
documento.

2.1.2.1

CouchDB

CouchDB banco de dado escalvel, orientado a documento com esquema


flexvel, desenvolvido por Damien Kat na linguagem Erlang, tolerante falha,
compatvel com o sistema Linux, Mac OS e Windows. Suporta documentos no
formato JSON, faz uso de MapReduce, permite a criao de views.
MapReduce um modelo de programao proposto/desenvolvido pelo
Google, visando facilitar na manipulao de grandes volumes de dados de uma
forma paralela e distribuda.
O termo MapReduce faz referencia a duas operaes distintas: Map e
Reduce. Como ilustrado na figura 7, o Map tem a funo de receber dados de
entrada e process-los para produzir um par de chaves e valor, gerando assim
dados intermedirios; enquanto que Reduce tem a funo de combinar o par
de chaves e valor para produzir resultados finais (EVORA, 2013).

16

Figura 7- Diagrama Ilustrativo das operaes Map e Reduce (EVORA, 2013).

A consulta de registro no couchDB realizada por meio de views e


retorna um documento JSON
Exemplo de um registro (couchDB):
{
tipo:'Contato'
nome:'Pedro'
sobrenome:'Alvaro'
email:'pvalvaro25@gmail.com'
telefone:'7186324060'
}

2.1.2.2

MongoDB

MongoDB sistema de dados orientado a documento, open source,


esquema e transaes flexveis, suporta MapReduce, isto , permite
agrupamento de dados (GROUP BY), escrito em C++, apresenta alta
performance, armazena dados binrios (fotos e vdeos), BSON e JSON.
Compatvel com os sistemas Linux, Mac OS x, Windows e Solaris.

17

As empresas que fazem uso do MongoDB h, Forbes, Chicago Tribune,


RiskPointer, globo.com, Instrumental, etc.

Figura 8- Exemplo de insero de registro no MongoDB (ANDERSON, 2013)

Figura 9- Exemplo de consulta de registro no MongoDB (ANDERSON, 2013)

2.1.3 Grafos

Grafos a abstrao matemtica representada em forma de vrtices e


arestas, que combinados representam um caminho (P. NEUBAUER, 2010
apud TOTH, 2011).

18

Figura 10- Exemplo de Grafos (ALMEIDA, 2011).

O grande benefcio/vantagem no uso deste modelo resume-se na rapidez


do tempo da consulta, isto , em relao ao modelo baseado em grafos
presente em base de dados relacionais, nestes a consulta demorada e
grande devido ao numero necessrio de consultas que so feitas. Para a
persistncia de dados devem-se obedecer as seguintes regras:

Vrtices ou arestas devem possuir chave e contedo;

A chave de um vrtice descreve o contedo do prprio vrtice;

A chave de uma aresta caracteriza a relao entre o contedo e os


vrtices;

O contedo de um vrtice possui dados sobre vrtice;

O contedo de uma aresta possui dados referentes a dois vrtices


relacionados.

Exemplo de bancos de dados NoSQL orientados a grafos: Neo4j, infogrid,


infinitegraph e etc.

2.1.3.1

Neo4j

O Neo4j um sistema de banco de dados NoSQL baseado em grafos,


escalvel para mltiplas maquinas, permite transaes (ACID), faz o controle

19

de concorrncia. Escrito na linguagem Java, isto em 2003 bem antes da


popularizao do termo NoSQL; suporta pesquisas textuais atravs da
integrao Lucene.
A figura abaixo ilustra o modelo de dado Neoj4, onde os ns (1,2,3,7 e 13)
e as relaes entre pessoas, o tipo de relao (publica ou secreta) que h entre
as pessoas e o tempo em que conhecem-se:

Figura 11- Modelo de dado Neo4j (NEO4J, 2012 apud FRIESS, 2013).

Segundo Marcos (2003) Lucene um framework de busca textual de alto


desempenho, escrito na linguagem Java. Possui APIs completas e plugveis,
estes por sua vez tm como foco na indexao e na procura de texto.
O API do Neo4j que permite realizar a pesquisa no grafo chama se
Traversal. Para tal basta invocar ou fazer chamada do mtodo description()
para determinar como ser percorrido o grafo e definir as informaes que
retornaro desta pesquisa.

Figura 12- Exemplo de consulta no Neo4j (ALMEIDA, 2011).

20

2.1.4 Modelo Orientado a Coluna

Neste modelo de banco de dados NoSQL, os dados so indexados por


via de uma tripla, ou seja, linha, coluna e timestamp, sendo que uma dada
chave permite identificar linhas e colunas, ao passo que o timestamp diferencia
as multiplas verses de um mesmo dado (LSCIO 2011).
Ainda segundo Lscio (2011) neste modelo as operaes de leitura e
escrita so atmicas, significa que todas as informaes associadas a uma
linha so levadas em considerao independentemente da coluna de interesse
(leitura ou escrita). Por exemplo, a figura abaixo modela o conceito de amigos,
onde o primeiroNome e o sobrenome so colunas pertencentes famlia de
colunas denominada nome. De maneira semelhante, as colunas endereo,
cidade e estado pertencem famlia local. Observe que para a linha 001, o
amigo Hlio tem diferentes endereos, onde para cada um deles tem um
timestamp correspondente. Como j foi dito o acesso linha atmico, ou
seja, mesmo que tenhamos interesse apenas na coluna sobrenome da linha
001, todas as colunas so retornadas quando esta linha consultada.

Figura 13- Exemplo de modelo baseado em coluna (LSCIO, 2011).

A seguir so apresentadas algumas caractersticas do modelo orientado a


coluna:

Permite particionamento de dados;


Forte aplicao em sistemas distribudos;
Pesquisas rpidas;
API de baixo nvel.

Como exemplo deste modelo de banco de dados h: Cassandra, Hbase e


outros.

21

2.1.4.1

Cassandra

O sistema de banco de dados orientado a coluna Cassandra, um


sistema distribudo, fortemente escalavel, suporta modelo de dados Big Table,
apresenta uma alta disponibilidade, alto desempenho de leitura e escrita,
esquema flexvel, suporte para replicao de dados, linguagem de consulta
semelhante ao SQL. Desenvolvido pelo Facebook na linguagem Java
baseando-se no Dynamo da Amazon. Exemplo:

Figura 14- Modelo de dados do Cassandra (PERERA, 2012)

Figura 15- Exemplo de registro no Cassandra (SILVA, 2012)

22

2.2

TEOREMA CAP
O teorema CAP (Consistency, Availability e Partition Tolerance) foi

defendido pelo Eric Brewer no simpsio sobre princpios de computao


distribuda, em julho de 2000 (LEITE, 2010).

Brewer explica que em um sistema distribudo extremamente necessrio


obter a consistncia, disponibilidade e tolerncia ao particionamento. Dentre as
trs propriedades apenas duas podem ser garantidas simultaneamente em um
sistema distribudo. A seguir so discutidas as trs propriedades:
Consistncia: Um sistema considerado consistente, quando dada a
garantia que aps a execuo de uma operao o sistema deve manter a
integridade dos dados (WEI, 2009 apud LEITE, 2010).
Disponibilidade: a garantia do acesso ao sistema a seus usurios,
como o seu funcionamento durante um determinado perodo de tempo. Por
exemplo, Google, Microsoft.
Tolerncia ao Particionamento: Esta propriedade faz referncia a
capacidade de um sistema continuar a operar mesmo aps uma falha na rede.

A seguir discutida a garantia de duas propriedades simultaneamente


em um sistema distribudo:

Sistema CA:

Os sistemas com consistncia forte e alta

disponibilidade no sabem lidar com possvel falha de uma


partio. Em caso de falha, o sistema inteiro pode ficar indisponvel
ate a chegada do membro do cluster.

Sistema CP: Sistemas que precisam da consistncia forte e


tolerncia ao particionamento, faz-se necessrio abrir mao da
disponibilidade. Exemplo, BigTable, Hbase ou MonhoDB.

23

Sistema AP: Sistemas que no podem ficar off-line, portanto no


desejam sacrificar a disponibilidade mesmo com a tolerncia ao
particionamento preciso prejudicar a consistncia. Exemplo,
Cassandra, Dynamo, Riack, etc.

24

PROTOCOLO DA REVISO SISTEMTICA


Esta seo apresentada o protocolo da reviso sistemtica a ser

seguido, consta nele todas as atividades que sero realizadas durante a


reviso.
3.1

OBJETIVO

O objetivo desta reviso sistemtica de avaliar o efetivo uso de banco


de dados NoSQL na manipulao e armazenamento de dados tratados para
ambientes de visualizao de informaes e de software.

3.2

QUESTES DE PESQUISA
Com o objetivo de pesquisar Quais as solues de persistncia

utilizada nos ambientes de visualizao de informaes?.


O estudo caminhou para trs questes de pesquisa mais especificas que
tendem responder com clareza a questo da pesquisa, visando desta forma
entender e conhecer as solues eficazes de persistncia utilizadas em
ambientes de visualizao de informaes:
QP1 - Quais os bancos de dados utilizados em ambientes de visualizao
de informao e de software?

QP2 - Como os ambientes de visualizao de informao de software


tratam os dados originais para serem representados visualmente?
QP3 Como os dados j tratados para representao visual so
armazenados para uso posterior pelo ambiente de visualizao?

25

3.3

CRITRIO E SELEO DE FONTES

Para a execuo da pesquisa, faz-se necessrio selecionar/escolher as


fontes onde a string de busca ser aplicada e por sua vez estas fontes de
pesquisa sero acessadas via web. Desta forma, os seguintes critrios devem
ser atendidos pelas fontes escolhidas:

Disponibilidade de consulta de artigos via web;

Suporte busca atravs de string de busca;

Garantia de resultados nicos, por meio de busca com a mesma


string.

3.4

PALAVRAS CHAVES

As seguintes palavras foram definidas para a montagem da string de


busca:

3.5

Database;
Storage;
Visualization;
Information

STRING DE BUSCA

Com as palavras chaves acima definidas, montou-se a seguinte string de


busca:
(Database) AND (Storage) AND ("Information Visualization")

3.6

FONTES DE BUSCA

ACM Digital Library;


IEEEXplore Digital Library;
SciVerse Scopus.

26

3.7

TIPOS DE TRABALHOS E IDIOMAS

Para a execuo desta reviso sistemtica foi definido que apenas os


artigos fariam parte do processo de seleo/reviso.
No que tange ao idioma, foi definido que apenas artigos escritos em ingls e/ou
em portugus fariam parte da reviso sistemtica.

3.8

CRITRIO DE INCLUSO E EXCLUSO DE ARTIGOS

3.8.1 CRITRIO DE INCLUSO

O processo de incluso de um artigo/trabalho determinado consoante


qualidade deste em relao s questes da pesquisa da pesquisa, tendo em
vista o Ttulo, Resumo (abstract), palavras-chaves e texto completo. Sendo
assim foram definidas as seguintes regras de critrios de incluso:
a) Artigos que abordam primria ou secundariamente uma das trs
questes apresentadas;
b) Estudos que abordam primria ou secundariamente a persistncia
em ambientes de visualizao de informaes;
c) Disponibilidade de download dos artigos atravs da web.

3.8.2 CRITRIO DE EXCLUSO

Seguindo os mesmos critrios de incluso, sendo anlise do ttulo,


Resumo (abstract), palavras-chaves e texto completo, foram definidas as
seguintes regras para o critrio de excluso:
a) Artigos com apenas resumo do texto disponvel e no o texto
completo;
b) Estudos irrelevantes para o estudo, levando em conta as
questes da pesquisa;
c) Estudo que no respondam nenhuma das questes da pesquisa;

27

d) Estudos duplicados (estudos semelhantes, a no ser que sejam


recentes ou completos e com informaes complementares) e
estudos repetidos.
e) Artigos publicados fora do perodo de 2000 at 2014.

3.9

CRITRIOS DE QUALIDADE

Com nos critrios de qualidade discutidos por Dyba e Dingsyr (Dyba e


Dingsyr, 2008), os seguintes critrios foram utilizados na elaborao desta
reviso sistemtica:
1. O artigo baseado em lies aprendidas com base na opinio de
especialista?
2. H uma declarao clara os objetivos da pesquisa?
3. Existe uma descrio adequada do contexto em que a pesquisa foi
realizada?
4. O planejamento do estudo foi adequado para abordar os objetivos da
pesquisa?
5. A estratgia de recrutamento foi adequada aos objetivos da pesquisa?
6. Havia um grupo de controle com o qual comparar tratamento?
7. Os resultados obtidos abordam as questes de pesquisa originais?
8. A anlise dos dados foi suficientemente rigorosa?
9. A relao entre pesquisador e participantes foi considerado um grau
adequado?
10. Existe uma declarao clara dos resultados?
11. o estudo de valor para pesquisa ou prtica?

28

3.10

PROCESSO DE SELEO DOS ARTIGOS

Aps a escolha/definio das fontes de pesquisa, chegada a fase da


seleo dos artigos, ou seja, fase de minerao dos artigos, isto atravs da
aplicao da string de busca nas fontes escolhidas. Em seguida sero feitas
duas analises; sendo que a primeira consiste em selecionar apenas artigos
completos, escritos em ingls e/ou em portugus, e consoante leitura dos
ttulos, resumos identificar-se- se o artigo relevante para a pesquisa. A
segunda anlise ser feita com base na leitura completa de todos os artigos
baixados, ou seja, artigos que passaram na primeira anlise, cuja finalidade
identificar os artigos que esto no contexto e/ou que respondam pelo menos
uma das trs sub-questes apresentadas.

3.11

AVALIAO DOS ARTIGOS

Com o intuito de responder as seguintes questes de pesquisa, quatro


artigos passaram pelo primeiro filtro, e tendo sido classificados como
potencialmente relevantes foram selecionados para a leitura, e destes foi
extrado dados relevantes:

QP1 - Quais os bancos de dados utilizados em ambientes de


visualizao de informao e de software?

QP2 - Como os ambientes de visualizao de informao de software


tratam os dados originais para serem representados visualmente?
QP3 Como os dados j tratados para representao visual so
armazenados para uso posterior pelo ambiente de visualizao?

29

3.12

ETAPAS DO PROCESSO DE SELEO DOS ARTIGOS

Figura 16- Etapas do processo de seleo dos artigos

A busca automtica nos repositrios escolhidos retornou 589 artigos,


aps a aplicao do primeiro filtro (anlise do ttulo e resumo), obteve-se 55
artigos relevantes, e destes quatro (4) artigos potencialmente relevantes foram
selecionados para a leitura.

30

3.13

RESULTADOS

A seguir so apresentados os artigos selecionados para a leitura, bem


como os respectivos resultados obtidos na extrao de dados de acordo com
cada artigo:
How to maximize the value of big data with the open source
SpagoBI suite through a comprehensive approach
QP1

O autor cita uma plataforma de integrao chamado de SpagoBI e


esta plataforma acessa bancos NoSQL (orientados a documento,
orientados a coluna e grafo), e conjuntos de dados do ecossistema
Hadoop (faz uso Hbase ou Hive para acessar o dataset Hadoop).

QP2

O SpagoBI possui um painel interativo que permite ao analista


interagir com os documentos ou informaes. Para alm h tambm
o relatrio ad-hoc, que permite ao analista de informaes criar
documentos analticos (tabela, grafos), isto aplicando o mtodo
arrasta e solta.

QP3

Os dados so classificados por ontologias de domnio e por


anotaes semnticas e em seguida so armazenados em bancos
NoSQL orientado a grafos par futuras anlises

Artigo 2

Software and Hardware Infrastructures for Visual Analytics

QP1

Bancos de dados ad-hoc, ou seja, em memoria.

QP2

Aps a consulta os dados brutos so transformados primeiramente


em tabelas de dados, e posteriormente so em estruturas visuais,
isto via mapeamento visual.

QP3

O artigo no aborda esta questo

31

Artigo 3

Visual Analysis of Heterogeneous Network

QP1

O autor apresenta um framework de visualizao chamado


VizAnalyse, faz uso de um banco de dados NoSQL, mas no foi
especificado o nome da base de dados. No acesso aos bancos o
framework faz uso do API Blueprints baseado em Java e anlogo ao
JDBC, s que este API acessa bancos de dados orientados a grafos.

QP2

Os dados so importados em forma de arquivos grafos, como


GraphML3 e GML4. Aps o carregamento dos dados no sistema o
componente GraphPanel do VizAnalyse estende o JUNG (Java
Universal Network/Graph), bibliteca open-source que fornece uma
linguagem comum e extensvel para modelagem, anlise e
visualizao de dados representados como grafo ou rede.

QP3

O artigo no aborda esta questo

Less After-the-Fact: Investigative Visual Analysis of Events from


Streaming Twitter
QP1

A ferramenta GTAC apresentado pelo autor faz uso do banco de


dados Mongodb.

QP2

O GTAC foi desenvolvido para extrair automaticamente informaes


como, indicadores temporais, identidade geospacial (localizao),
indicadores do autor da postagem (pessoas/organizaes) e o
contedo no texto postado, isto acontece toda vez que detectado o
sinal de um evento, ou seja, a postagem de um tweet. Na extrao
de indicadores temporais o GTAC, faz uso do pacote TARSQL
(Temporal Awareness and Reasoning System for Question
Interpretation), sistema que permite ler o texto e encontrar
informao referente ao tempo no texto.

QP3

Aps a execuo da etapa da QP2 armazenado os dados no


banco.

32

CONSIDERAES FINAIS

O objetivo deste trabalho foi de avaliar o uso efetivo de banco de dados


em ambientes de visualizao de informaes; ambientes criados ou
desenvolvidos para auxiliar na extrao de informaes de uma forma clara e
rpida, assim como a sua anlise e interpretao. Em contrapartida auxilia d
suporte a varias reas do saber, como por exemplo, a medicina, a geologia,
economia, etc.
Ao longo do estudo percebeu-se que a alternativa apresentada de banco
de dados, no caso NoSQL, uma opo de referencia para aplicaes ou
situaes em que modelos tradicionais de banco apresentam limitaes na
manipulao, processamento e armazenamento de grandes volumes de dados.
Tendo em considerao os artigos analisados e selecionados para a
leitura, observou-se que muitos destes estudos abordam ou contextualizam a
visualizao de informaes/dados bem como a sua importncia na anlise e
interpretao de dados muita das vezes dados complexos, e o uso de
repositrios ou banco de dados, sendo que quase todos modelo relacional.
Diante deste cenrio constatou-se que existem dificuldades reais na
manipulao e visualizao de dados complexos.

33

REFERNCIA
ANDERSO, Christiano. MongoDB: Tudo o que voc precisa saber.
Disponvel em:< http://pt.slideshare.net/canderson/mongodb-27304932>.
Acessado em 05 de Maio de 2014.
BRITO, Ricardo W. Bancos de Dados NOSQL x SGBDs: Relacionais:
Anlise Comparativa. Disponvel em:< http://www.infobrasil.inf.br/userfiles/2705-S4-1-68840-Bancos%20de%20Dados%20NoSQL.pdf >. Acessado em 20
de Maro de 2014.
CASTRO, Aldemar Arajo. Atallah, Alvaro Nagib. Reviso Sistemtica e
Metanlise: a melhor forma de evidncia para tomada de deciso em
sade e a maneira mais rpida de atualizao teraputica. Disponvel em:
<http://www.centrocochranedobrasil.org.br/cms/apl/artigos/artigo_530.pdf>.
Acessado em 16 de Maro de 2014.
DATE, C.J. Introduo a sistema de bancos de dados. 8 ed. Rio de Janeiro:
Campus, 2004.
Dyba T. e Dingsyr T..Empirical studies of agile software development: A
systematic review, 2008.
EVORA, Luiz. MapReduce: Soluo para o Big Data?. Disponvel em:
<http://www.twistsystems.com/blog/2013/01/27/mapreduce-solucao-para-o-bigdata/#.U7gkPJRdUpU>. Acessado em 20 de Junho de 2014.
FEKETE, Jean-Daniel. Software and Hardware Infrastructures for Visual
Analytics. Disponvel em: < http://hal.archivesouvertes.fr/docs/00/81/56/10/PDF/VA-Infrastructure.pdf >. Acessado em 10 de
Julho de 2014.
FRANCESCHINI, Monica. How to maximize the value of big data with the
open source SpagoBI suite through a comprehensive approach. Disponvel
em: <http://db.disi.unitn.eu/pages/VLDBProgram/pdf/flash/Engineering.pdf>.
Acessado em 10 de Julho de 2014.
FRIESS, Ivan Isaas. Anlise de Bancos de Dados Nosql e
Desenvolvimento de uma Aplicao. Disponvel em: < http://wwwapp.inf.ufsm.br/bdtg/tg.php?id=362 >. Acessado em 07 de Maio de 2014.
KRAFT, Thomas, et al. "Less After-the-Fact: Investigative visual analysis of
events from streaming twitter." Large-Scale Data Analysis and Visualization
(LDAV), 2013 IEEE Symposium on. IEEE, 2013.
LEITE, Gleidson Sobreira. Anlise Comparativa do Teorema CAP Entre
Bancos de Dados NoSQL e Bancos de Dados Relacionais. Disponivel em:
<http://www.ffb.edu.br/sites/default/files/tcc-20102-gleidson-sobreira-leite.pdf>.
Acessado em 08 de Julho de 2014.

34

LSCIO, Bernadette. NoSQL no desenvolvimento de aplicaes Web


colaborativas. Disponvel em:
<http://www.addlabs.uff.br/sbsc_site/download.html>. Acessado em 20 de
Maro de 2014.
Marque. Persistncia de dados com Redis. Disponvel em: <
HTTP://MANIFESTO.BLOG.BR/2.0/NOSQL/REDIS-NOSQL>. Acessado em 19
de Maro de 2014.
MEMON, Bisharat Rasool, and Uffe Kock Wiil. "Visual Analysis of
Heterogeneous Networks." Intelligence and Security Informatics Conference
(EISIC), 2013 European. IEEE, 2013.
NEVES, Lilia Maria Bitar. Reviso sistemtica: um estudo para elaborao
de dissertaes e teses. Disponvel em: <http://ebookbrowsee.net/tutoriaissd-rev-sistematica-ppt-d59671545>. Acessado em 15 de Maro de 2014.
OLIVEIRA, Luclia Alves de. MODELAGEM DE DADOS. Disponvel em:
<http://professoralucelia.com.br/modelagemDeDados.html>. Acessado em 09
de julho de 2014.
PERERA, Srinath. Consideraes sobre o Banco de Dados Apache
Cassandra: Quais so as vantagens e desvantagens desse banco de
dados NoSQL?. Disponvel em: < http://blog.caelum.com.br/trabalhando-comrelacionamentos-bancos-de-dados-baseados-em-grafos-e-o-neo4j/>. Acessado
em 20 de Maro de 2014.
REIS, Marcos. Como indexar os arquivos do seu computador com Lucene.
Disponvel em: <http://imasters.com.br/front-end/como-indexar-os-arquivos-doseu-computador-com-lucene/>. Acessado em 20 de Junho de 2014.
SILVA, Tiago Pasqualini. Cassandra Um sistema de armazenamento
NoSQL altamente escalvel. Disponvel em: <
http://www.dcomp.sor.ufscar.br/verdi/topicosCloud/ApresCassandra.pdf >.
Acessado em 08 de Maio de 2014.
SOCIEDADE BRASILEIRA DE ONCOLOGIA CLNICA. Leitura Crtica de
Artigos Cientficos. Disponvel em:
<http://www.sboc.org.br/app/webroot/leitura-critica/ >. Acessado em 20 de
Maro de 2014.
TOTH, Renato Molina. Abordagem NoSQL uma real alternativa. Disponvel
em:< http://www.dcomp.sor.ufscar.br/verdi/topicosCloud/nosql_artigo.pdf >.
Acesso em: 30 de Maro de 2014.

Você também pode gostar