Você está na página 1de 12

UNIVERSIDADE FEEVALE

NOME DO ALUNO EM MAIÚSCULO

ANÁLISE DE DESEMPENHO DE BANCOS DE DADOS NOSQL

Anteprojeto de Trabalho de Conclusão

Novo Hamburgo
2018
NOME DO ALUNO EM MAIÚSCULO

ANÁLISE DE DESEMPENHO DE BANCOS DE DADOS NOSQL

Anteprojeto de Trabalho de Conclusão de


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

Orientador: nome do professor orientador

Novo Hamburgo
2018
RESUMO

Com o grande volume de dados gerados pelas aplicações da Web e a necessidade constante de
manter ao máximo os serviços disponíveis e de se possuir uma estrutura flexível, é eminente o
uso de NoSQL (Not Only SQL) por essas aplicações. Este trabalho tem como objetivo
produzir uma análise comparativa entre as categorias de SGBD NoSQL. O estudo será feito a
partir de três SGBD comerciais, sendo um de cada tipo. Primeiramente será feita uma breve
discussão sobre os princípios BASE, explicitando o que esses princípios garantem aos
modelos NoSQL. Em seguida, os três SGBD escolhidos serão comparados em relação aos
critérios de desempenho, escalabilidade, custos e segurança. Por fim, será feita uma
compilação dos resultados obtidos em cada comparação, que servirá como base para a
indicação de possíveis grupos de aplicações em que cada um dos modelos de SGBD mais se
adequa.

Palavras-chave: BASE, desempenho, escalabilidade, segurança, custo.


SUMÁRIO

MOTIVAÇÃO ...........................................................................................................................4

OBJETIVOS ..............................................................................................................................7

METODOLOGIA ......................................................................................................................8

CRONOGRAMA .....................................................................................................................9
BIBLIOGRAFIA ....................................................................................................................11
1 MOTIVAÇÃO

Com o surgimento e a popularização da World Wide Web (WWW) houve um aumento


contínuo de requisições por parte dos usuários em diversas aplicações computacionais que
concentram um grande volume de dados. Historicamente os bancos de dados sempre
representaram um papel importante nas aplicações tradicionais de computação [1].
Atualmente, ao utilizar caixas eletrônicos de bancos ou fazer compras em uma loja de
comércio virtual, são acessados, de forma transparente, dados armazenados em um banco de
dados. Devido à necessidade de melhorar o desempenho das aplicações, muitas empresas já
estão fazendo uso deste novo paradigma que, segundo Brito (2013) tem como propósito não
substituir o Modelo Relacional como um todo, mas apenas em casos nos quais seja necessária
uma maior flexibilidade da estruturação do banco de dados. Escalabilidade é a capacidade de
um sistema crescer e continuar atendendo requisições, dado que a carga de acesso ao mesmo
aumenta. Um sistema pode ser escalável horizontalmente ou verticalmente (MARQUES
2012, p.09).
Com isso, a necessidade de armazenar informações de grande escala de forma
segura, operável e flexível está cada vez maior. Para solucionar esta problemática surge um
novo modelo de armazenamento que trabalha com grande número de transações,
compensando a crescente necessidade de obter um bom desempenho, conhecido como
NoSQL (Not Only SQL). Porém, muito ainda se questiona a respeito de soluções NoSQL e
um dos primeiros questionamentos sobre a utilização do mesmo é o desempenho relacionado
ao tempo de execução de operações dos dados. Ou seja, muitas dúvidas surgem em relação ao
quão rápido os bancos de dados NoSQL são em relação aos bancos de dados relacionais. O
presente trabalho, realiza uma análise do desempenho de bancos de dados NoSQL,
pretendendo fornecer uma premissa a fim de facilitar à tomada de decisão na escolha de qual
modelo de banco de dados Nosql atende a uma determinada aplicação ou sistema.

Atualmente, NoSQL representa uma ampla variedade de tecnologias, incluindo SGBD


baseados em documentos, chave/valor, colunas, grafos e objetos [2, 3, 6].
Com a popularização da computação em nuvem, os serviços que utilizam o conhecido “Big
Data” se tornam cada vez mais requisitados e os SGBD relacionais não mais atendem as
necessidades dos negócios [7]. Nos últimos anos o termo Big Data tem sido fortemente
abordado e explorado. A grande evolução das redes sociais como Facebook, Twitter e
Instagram fazem com que o volume de informações gerado diariamente na internet ultrapasse
Terabytes, ou até mesmo Petabytes de dados. Este fenômeno fez com que estas organizações
colaborassem para o desenvolvimento de tecnologias capazes de armazenar toda essa
informação, elevando o Big Data a uma área da tecnologia da informação muito estudada e
explorada. Junto desta forte corrente do Big Data, os bancos de dados são protagonistas, e
hoje fala-se muito sobre os bancos de dados NoSQL (Not only SQL). Estas ferramentas foram
desenvolvidas e projetadas para lidar com grandes volumes de informações, porém o seu
principal objetivo concentra-se no rápido armazenamento e acesso a partes específicas dos
dados. NoSQL é o termo usado para abranger todos bancos de dados que não seguem o já
tradicional e bem estabelecido modelo relacional, ou Sistemas Gerenciadores de Bancos de
Dados Relacionais (RDBMS), o NoSQL é relacionado ao armazenamento e manipulação de
grandiosos volumes de dados, e não é um único produto ou tecnologia, ele representa uma
classe de ferramentas (TIWARI, 2011). Nesse contexto, os SGBD NoSQL tornaram-se uma
promessa de melhoria em critérios como escalabilidade, disponibilidade, controle de
concorrência e custo operacional [4]. Grandes empresas passaram a utilizar NoSQL e algumas
até iniciaram o desenvolvimento de plataformas de SGBD NoSQL em função de sua
demanda, como é o caso do Facebook, com o projeto Cassandra [8], da Amazon, com o
Dynamo [9] e do Bigtable [10] do Google.

Embora NoSQL tenha adquirido uma clara notoriedade no mercado, é importante observar
que os tipos de SGBD que serão analisados possuem características que podem se adequar
melhor a determinados cenários [5]. Sendo assim, torna-se importante uma avaliação
comparativa sob diversos aspectos de modo a auxiliar a escolha para uma determinada
aplicação. Mesmo com essa forte onda do NoSQL, o mesmo não tem sido estudado de
maneira profunda e consistente como um substituto do modelo relacional para a realização de
análises de informação, mais especificamente no seu desempenho dos seus modelos de dados.
Tendo em vista esta oportunidade de pesquisa, o presente trabalho propõe a realização de uma
análise comparativa entre três modelos de dados Nosql existentes.
2 OBJETIVOS

2.1 Objetivo geral

O objetivo desse trabalho é produzir uma análise de desempenho entre três modelos de banco
de dados NoSQL (orientado a documentos, orientado a colunas e orientado a chave/valor)
analisando os critérios de desempenho, escalabilidade, custos e segurança.

2.2 Objetivo Específico

Comparar as garantias que cada SGBD escolhido oferece;


Analisar os critérios de desempenho, escalabilidade, custo e segurança;
Definir para que tipos de aplicação cada um dos modelos avaliados mais se adequa;
Propor cenários de testes para avaliar o desempenho de modelos bancos dados NoSQL, em
relação ao tempo de execução.
 Mostrar como as soluções NoSQL modelam determinados cenários.
 Apresentar os resultados obtidos em cada cenário.
4 METODOLOGIA

Os trabalhos de pesquisa na área da tecnologia da informação e computação são


caracterizados pela produção de fatos novos. Usualmente estes estudos envolvem a
construção de um sistema, de um programa, de um algoritmo ou modelo novo. No entanto,
para que os resultados do estudo sejam mais efetivos, é necessário que se apliquem métodos
científicos e sejam definidos critérios de avaliação da pesquisa (WAINER, 2007). Neste
capítulo será apresentado o método científico aplicado no desenvolvimento deste trabalho
para o atingimento de seus objetivos.

4.1 Delineamento de pesquisa


O presente trabalho tem como objetivo explorar o uso de modelos de bancos de dados NoSQL
com a realização de uma avaliação de desempenho em relação aos critérios estudados de cada
modelo de dados. Para a realização do comparativo entre os bancos de dados não relacionais,
será implementado um cenário de avaliação, que irá permitir que ambas bases sejam
colocadas a prova e avaliadas segundo os aspectos determinados.
Os cenários aplicados para o desenvolvimento do trabalho serão implementados em
laboratório, em um ambiente artificial, onde as variáveis serão observadas e coletadas para
qualificação. Este ambiente irá permitir que o comparativo das bases de dados dos modelos de
SGDB Nosql seja controlado por meio de critérios e padrões pré-estabelecidos, que irão
validar a aplicabilidade da tecnologia NoSQL no cenário e suas vantagens e desvantagens em
relação aos modelos de dados estudados
.
O objetivo principal deste trabalho é realizar uma análise de desempenho por meio
de critérios do uso de bancos de dados não relacionais (NoSQL) em possíveis aplicações nos
atuais cenários apresentados pelas empresas e pelas necessidades de uma maior gama de
controlar uma quantidade gigantesca de volume de dados. Para atingir este objetivo é
necessário observar o comportamento e adaptação da tecnologia NoSQL neste cenário,
qualificando os resultados através da análise dos critérios estabelecidos. Portanto, pode-se
afirmar que o presente trabalho utiliza uma abordagem qualitativa. A pesquisa qualitativa se
caracteriza por ser um "estudo aprofundado de um sistema no ambiente onde ele está sendo
usado, ou, em alguns casos, onde se espera que o sistema seja usado" (WAINER, 2007, p. 28).
5 CRONOGRAMA

As atividades devem ser desenvolvidas de acordo com o cronograma abaixo.

Atividade Agosto Setembro Outubro Novembro


Definição dos bancos de
x
dados que serão avaliados
Estudo dos conceitos gerais
e elaboração do capítulo de x x
introdução
Pesquisa sobre os princípios
e garantias dos modelos x x x
dados NoSQL
Elaboração do capítulo
x x x
BASE
Pesquisa e elaboração do
x x x x
capítulo sobre desempenho
Pesquisa e elaboração do
capítulo sobre x x x x
escalabilidade
Pesquisa e elaboração do
x x x x
capítulo sobre custo
Pesquisa e elaboração do
x x x x
capítulo sobre segurança
Elaboração do cenário de
testes e das conclusões,
x x
finalização do relatório e
dos slides
Defesa x
6 BIBLIOGRAFIA

[1] ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 6. ed. Pearson Education
Set. 2011.
[2] SATTAR, A.; LORENZEN, T.; NALLAMADDI, K. Incorporating NoSQL into a
database course. ACM Inroads, New York, NY, USA, v. 4, n. 2, p. 50–53, Jun. 2013.
[3] ABRAMOVA, V.; BERNARDINO, J. Nosql databases: Mongodb vs cassandra. In:
Proceedings of the International C* Conference on Computer Science and Software
Engineering, 2013. C3S2E ’13. New York, NY, USA: ACM. p. 14–22.
[4] HAN, J.; HAIHONG, E.; LE, G.; DU, J. Survey on NoSQL database. In: Pervasive
Computing and Applications (ICPCA), 2011 6th International Conference on, 2011. p. 363–
366.
[5] ZHANG, H.; WANG, Y.; HAN, J. Middleware design for integrating relational database
and NoSQL based on data dictionary. In: Transportation, Mechanical, and Electrical
Engineering (TMEE), 2011 International Conference on, 2011. p. 1469–1472.
[6] JAYATHILAKE, D.; SOORIAARACHCHI, C.; GUNAWARDENA, T.; KULASURIYA,
B.; DAYARATNE, T. A study into the capabilities of NoSQL databases in handling a highly
heterogeneous tree. In: Information and Automation for Sustainability (ICIAfS), 2012 IEEE
6th International Conference on, 2012. p. 106–111.
[7] POKORNY, J. NoSQL databases: A step to database scalability in web environment. In:
Proceedings of the 13th International Conference on Information Integration and Webbased
Applications and Services, 2011. iiWAS ’11. New York, NY, USA: ACM. p. 278–283.
[8] LAKSHMAN, A.; MALIK, P. Cassandra: A decentralized structured storage system.
SIGOPS Oper. Syst. Rev., New York, NY, USA, v. 44, n. 2, p. 35–40, Abr. 2010.
BRITO, R. W.. (2013). Bancos de Dados NoSQL x SGBDs Relacionais: Análise
Comparativa*. In:. Infobrasil TI & TELECOM, Fortaleza – CE. Disponível em: <
http://www.infobrasil.inf.br/userfiles/27-05-S4-1-68840- Bancos%20de%20Dados
%20NoSQL.pdf >. Acesso em: 03 de Agosto de 2018, às 10h
[9] DECANDIA, G.; HASTORUN, D.; JAMPANI, M.; KAKULAPATI, G.; LAKSHMAN,
A.; PILCHIN, A.; SIVASUBRAMANIAN, S.; VOSSHALL, P.; VOGELS, W. Dynamo:
Amazon’s highly available key-value store. In: Proceedings of Twenty-first ACM SIGOPS
Symposium on Operating Systems Principles, 2007. SOSP ’07. New York, NY, USA: ACM.
p. 205–220.
[10] CHANG, F.; DEAN, J.; GHEMAWAT, S.; HSIEH, W. C.; WALLACH, D. A.;
BURROWS, M.; CHANDRA, T.; FIKES, A.; GRUBER, R. E. Bigtable: A distributed storage
system for structured data. ACM Trans. Comput. Syst., New York, NY, USA, v. 26, n. 2, p.
4:1–4:26, Jun. 2008.
MARQUES, H. S. Aumento da Escalabilidade com o uso de Service Oriented Arquitecture
(SOA). Belo Horizonte, 2012. 27p. Trabalho para obtenção do título de Especialista (curso:
Estratégia em Arquitetura de Software) – Instituto de Gestão em Tecnologia da Informação,
Belo Horizonte, MG. Disponível em: < http://pt.slideshare.net/HugoMarques16/tcc-igti-hugo-
marques-v11>. Acesso em: 03 de Agosto de 2018, às 16h.
TIWARI, Shashank. Professional NoSQL. Indianapolis: John Wiley & Sons, 2011.
WAINER, Jacques. Métodos de pesquisa quantitativa e qualitativa para a Ciência da
Computação. Campinas: Unicamp, 2007.