ANÁLISE DE DESEMPENHO DE BANCOS DE DADOS NOSQL
Por: roberto maesso • 3/10/2018 • Monografia • 1.603 Palavras (7 Páginas) • 267 Visualizações
UNIVERSIDADE FEEVALE
FELIPE WOLLMANN
ANÁLISE DE DESEMPENHO DE BANCOS DE DADOS NOSQL
(Título Provisório)
Anteprojeto de Trabalho de Conclusão
Novo Hamburgo
2014
FELIPE WOLLMANN
ANÁLISE DE DESEMPENHO DE BANCOS DE DADOS NOSQL
(Título Provisório)
Anteprojeto de Trabalho de Conclusão de Curso, apresentado como requisito parcial
à obtenção do grau de Bacharel em
Sistemas de Informação pela
Universidade Feevale
Orientador: Juliano Varella de Carvalho
Novo Hamburgo
2014
RESUMO
As aplicações utilizadas no mundo virtual tiveram gigantescas mudanças nos últimos 10 anos, e para dar o suporte necessário, exigem sistemas de gerenciamento de dados cada vez mais robustos. Com o advento da computação em nuvem, Big Data, redes sociais e utilização em massa de dispositivos móveis, foi necessário o desenvolvimento de ferramentas para manipulação e armazenamento de dados que permitissem o acesso rápido e fácil. Atualmente os bancos de dados NoSQL(Not Only SQL – Não apenas SQL) são uma alternativa viável aos bancos de dados relacionais, oferecendo serviços altamente escaláveis para grandes volumes de dados. Sendo assim, este trabalho tem como objetivo analisar dois bancos de dados NoSQL, o HBase, que foi modelado a partir do Google BigTable, e o Cassandra, ambos mantidos pela Apache Software Foundation.
Palavras-chave: NoSQL. BigData. HBase. Cassandra. Desempenho.
SUMÁRIO
MOTIVAÇÃO ...........................................................................................................................5
OBJETIVOS ..............................................................................................................................8
METODOLOGIA ......................................................................................................................9
CRONOGRAMA .....................................................................................................................10
BIBLIOGRAFIA ....................................................................................................................11
MOTIVAÇÃO
Com o advento da era digital, é cada vez mais comum estar conectado ao mundo virtual e buscar essa ligação a todo o momento e em todos os lugares. As consultas em sites de notícias precisam ser retornadas imediatamente, assim como a divulgação de textos, imagens e vídeos de várias plataformas como tablets, celulares, computadores e relógios, precisam ser carregados para a web em questão de segundos. Com o acesso a informações disponível a todos, surgiram novas formas de se conectar e se relacionar entre comunidades, como as redes sociais Facebook, Twitter e WhatsApp.
Desse modo, aonde de acordo com o Ibope (2014), o número de usuários ativos de internet no Brasil chegou a 60,7 milhões em Maio de 2014, com um aumento de 6,5% comparado ao mês de fevereiro do mesmo ano. O armazenamento de dados tem se tornado uma tarefa cada vez mais complexa, com problemas relacionados à escalabilidade e geração de altos custos para as companhias. Bancos de dados relacionais escalam, mas quanto maior o tamanho das bases de dados, mais custosa se torna essa escalabilidade, seja pelo custo de novas máquinas, seja pelo aumento de especialistas nos sistemas gerenciadores de bancos de dados utilizados (IANNI, 2012). Devido ao custo alto para manter-se uma escalabilidade adequada, os tradicionais bancos de dados relacionais têm mostrado algumas deficiências na tarefa de conciliar a demanda por escalabilidade cada vez maior.
Para resolução desse problema, começou a ser desenvolvido uma nova tecnologia de banco de dados não relacional, intitulado NoSQL(Not Only SQL – Não apenas SQL). Tal tecnologia surge como uma nova proposta de atender às necessidades de gerenciamento de grande volume de dados, oferecendo de forma eficiente disponibilidade, escalabilidade e desempenho.
Kokay (2012) destaca que a proposta dos bancos NoSQL na realidade, não é extinguir o modelo relacional, mas utilizá-lo em casos onde é necessária uma maior consistência na estruturação do banco. É preciso deixar claro que os bancos de dados NoSQL são uma alternativa para os modelos relacionais, quando se procura alta performance, escalabilidade e grande volume de dados.
Um dos motivos para alavancar a utilização de bancos não relacionais é a possibilidade de escalabilidade horizontal ser altamente viável se comparada a um banco relacional. Com o volume de dados crescendo, maior a necessidade de escalabilidade e melhoria do desempenho, e por não possuir bloqueios em sua estrutura, os bancos não relacionais permitem com facilidade a tarefa de escalabilidade. Também deve ser levada em conta a ausência de um esquema na estrutura de dados. É justamente essa ausência de esquema que facilita uma alta escalabilidade e alta disponibilidade, mas em contrapartida não há a garantia de integridade dos dados, fato este que não ocorre no Modelo Relacional (KOKAY, 2012).
Já existem diversos bancos de dados NoSQL no mercado, e cada qual com o seu tipo de armazenamento específico, onde os principais são: chave-valor, orientado a documento, orientado a coluna e orientado a grafos. Cada um possui as suas características e não existe definição de qual seria superior aos outros, devido a serem adequados para situações específicas.
Será realizado uma análise de desempenho entre dois bancos de dados que utilizam modelo orientado a colunas, o Cassandra e HBase, mantidos pela Apache Software Foundation. De acordo com Ianni (2012), esse modelo é conhecido por obter uma escrita muito rápida, pois todos os dados de um registro são colocados no disco com uma única escrita no banco. Além disso, se a busca é pela otimização de dados estruturados, esse tipo de armazenamento é interessante, pois guardam os dados contiguamente por colunas.
...