Buscar

Paper BancodeDadosNosql2014 versaometa

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Banco de Dados NoSQL na Nuvem
Antônio Carlos Zanata
 Tutor Externo - Anderson Klann
Centro Universitário Leonardo da Vinci – UNIASSELVI
Gestão de Tecnologia da Informação (GTI 0049) – Prática Módulo III
01/05/2014
�
Resumo
Este trabalho tem como objetivo mostrar a história e como surgiu os Bancos de Dados NoSQL e como é aplicado em Nuvem. Mostrar o que é o conceito NoSQL e porque ele é geralmente associado ao Big Data e quais são algumas das várias opções de banco de dados NoSQL existentes atualmente. A sua principal característica é a escalabilidade no qual faz aumentar a sua capacidade de dados e a velocidade.
Palavras-chave: NoSQL, Big Data, Relacional, Master-Slave, ACID.
1 INTRODUÇÃO
O que vem a ser NoSQL, depois de pesquisas na internet, podemos verificar que fazem várias definições e as vezes algumas mais claras e outras mais confusas. O termo NoSQL foi primeiramente utilizado em 1998 com o nome de um banco de dados relacional de código aberto que não oferecia interface SQL. Seu autor, Carlo Strozzi, alega que o movimento NoSQL “ é completamente distinto do modelo relacional e portanto deveria ser mais apropriadamente chamado de “NoRel” ou algo que produzisse o mesmo efeito”. O termo NoSQL foi re-introduzido no inicio de 2009 por um funcionário de Rackspace, Eric Evans,  quando Johan Oskarsson da Last.fm queria organizar um evento para discutir banco de dados open source distribuídos. O nome, uma tentativa de descrever o surgimento de um número crescente de banco de dados não relacionais, que não tinham a preocupação de fornecer garantias ACID – faz referência ao esquema de atribuição de nomes de bancos de dados relacionais mais populares do mercado: MySQL, MS SQL , PostgreSQL. O NoSQL tem uma grande facilidade na distribuição horizontal, ou seja, mais dados, mais servidores não necessariamente de alta performance. Um dos grandes utilizadores deste sistema é o Google, que usa computadores de pequeno e médio porte para distribuição dos dados, essa forma de utilização é mais eficiente e econômica. Alem disto os bancos de dados NoSQL são muito tolerantes a erros. [1]
A HISTÓRIA DO NoSQL
Em 2006, o artigo Big Table: A Distributed Storage System for Strutured Data publicado pelo Google em 2006, traz novamente à tona o conceito NoSQL.
No inicio de 2009, o termo NoSQL é re-introduzido por um funcionário do Rakspace, Eric Evans quando Johan Oskarson da Last.fm queria organizar um evento para discutir banco de dados open source distribuídos. 
A partir de então, os bancos de dados não relacionais passaram a ser conhecidos como NoSQL, e com crescente popularização das redes sociais, a geração de conteúdo por dispositivos móveis bem como o número cada vez maior de pessoas e dispositivos conectados, faz com que o trabalho de armazenamento de dados com o objetivo de utilizá-los em ferramentas analíticas, comece a esbarrar nas questões de escalabilidade e custos de manutenção desses dados.
Bancos de Dados Relacionais escalam, mas quanto maior o tamanho, mais custoso se torna essa escalabilidade, seja pelo custo de novas máquinas, seja pelo aumento de especialistas nos bancos de dados utilizados.
Já os bancos de dados não relacionais, permitem uma escalabilidade mais barata e menos trabalhosa, pois não exigem máquinas extremamente poderosas e sua facilidade de manutenção permite que um número menor de profissionais seja necessário.
Assim os bancos de dados NoSQL vão ficando mais populares entre as grandes empresas pois reúnem as características de poder trabalhar com dados semi-estruturados ou crus, vindos de diversas origens(arquivos de log, arquivos multimídias e web-sites etc...). [1]
 
3 ALGUNS BANCOS DE DADOS NOSQL EXISTENTES ATUALMENTE
	
Figura 1: Banco de Dados NoSQL
Fonte: http://www.devmedia.com.br/introducao-aos-bancos-de-dados-nosql/26044[1]
Um divisor de águas no movimento NoSQL foi a publicação de dois artigos:
Big Table : A Distributed Storage System for Structured Data
 - publicado pelo Google,
 -em novembro de 2006,
 -no 17º simpósio em design e implementação de sistemas operacionais.
Dynamo: Amazon´s highly available key-value store
 -publicado pela Amazon,
 -em outubro de 2007,
 -no 12º simpósio em princípio de sistemas operacionais. [1]
4 CARACTERÍSTICAS DO USO DO BANCO DE DADOS MONGODB
Como aplicar padrões de projetos com MongoDB, como comércio eletrônico, gerenciamento de conteúdo e jogos online. Usando Phiton e JavaScript o MongoDB permite dimensionar o modelo de dados simplificando o processo de desenvolvimento.
Muitas empresas lançaram bancos de dados NoSQL sem compreender as técnicas par utilização de seus recursos de forma mais eficaz. Os benefícios da incorporação de documentos, esquemas polimórficos e outros padrões MongoDB para combater casos específicos de uso de grandes volumes de dados, como:
Inteligência operacional - Realizar análise em tempo real de dados de negócios
Ecommerce – catálogo de produtos, gerenciamento de inventário
Gerenciamento de conteúdo – métodos para armazenar nós de conteúdo, ativos binários e discussões
Redes de publicidade on-line – aplicar as técnicas para limites de freqüência de impressões de anúncios e segmentação de palavras-chave e licitações
Redes sociais – saber como armazenar um gráfico social complexo modelado após Google+
Jogos Online – proporcionar o acesso simultâneo aos dados de caracteres e mundiais para um multiplayer online roleplaying [5]
5 CARACTERÍSTICAS
5.1 A UTILIZAÇÃO DO PROCESSAMENTO PARALELO, E ESCALABILIDADE HORIZONTAL
Para se atingir um desempenho razoável no processamento de grandes volumes de dados, é mais eficiente dividir as tarefas em várias outras menores e que podem assim, serem executadas ao mesmo tempo, distribuindo essas tarefas aos processadores disponíveis, para isto os sistemas precisam atingir um auto grau de maturidade no processamento paralelo. O uso de muitos processadores baratos, não só oferece um melhor desempenho do que torna também uma solução economicamente interessante, pois dessa forma é possível escalar o sistema horizontalmente apenas adicionando hardware e não limitando a empresa a poucos fornecedores de hardware mais poderoso. [2]
5.2 CLUSTERIZAÇÃO
Compreende um banco de dados armazenado e gerenciado por mais de um servidor, provê uma alta disponibilidade e um alto desempenho do sistema. Assim a organização se beneficia diminuindo o tempo de inoperabilidade do banco de dados. Esse processo vem como uma solução para diminuir gastos com estrutura de hardware. [4]
SCHEMA-FREE
Um dos fatores que contribuem para um Banco de Dados NoSQL escalar é por causa da ausência de um schema. Todos os novos bancos têm em comum que eles são key-value stores, ou seja, salvam, como o nome mesmo sugere, um conjunto de entradas formadas por uma chave associada a um valor poderia ser de qualquer tipo binário ou string que está sendo salvo de forma desnormalizada (schema-free). [4]
5.4 MAP-REDUCE
Map-Reduce é um modelo de programação para o processamento de grandes conjuntos de dados. Um programa Map-Reduce é composto de um mapa, processo que, realiza a filtragem e classificação (tal como a contagem do número de alunos em cada fila, produzindo freqüência , nome). E um reduzir, procedimento que executa uma operação de síntese(tais como a contagem do número de alunos em cada fila, produzindo freqüências nome). O sistema de Map-Reduce (também chamado de infra-estrutura ou enquadramento), orquestra por mobilizar os servidores distribuídos, correndo as várias tarefas em paralelo, gerenciando todas as comunicações e transferências de dados entre as diversas partes do sistema, e que prevê a redundância e falha a tolerância. [4]
5.5 FLEXIBILIDADE E INDEPENDÊNCIA
	
	
Fonte: http://pt.slideshare.net/AmazonWebServicesLATAM/dynamodb-introducao?qid=7ca31672-5f21-4dc4-9c8d-01eafd607a1a&v=qf1&b=&from_search=1 acessado em:25/05/20146 TÉCNICAS DE ESCALABILIDADE
6.1 SHARDING
Além de desejarmos que cada uma das pesquisas em nosso sistema execute o mais rápido possível, precisamos criar meios, para que, quando necessário, seja fácil adicionar mais recursos (como memória ou servidores) e o sistema consiga tirar proveito deles. Outras duas abordagens importantes são a replicação e o particionamento horizontal (sharding). A simples idéia por trás da replicação é armazenar cópias dos dados em mais de um lugar. Em bancos de dados ela é tradicionalmente implementada através da criação de uma estrutura Master-Slave. O banco master é aquele onde são efetuadas as alterações, que são então replicadas para o banco slave. Com isso as queries podem ser executadas agora não só em um, mas em dois nós. Quando as máquinas se sobrecarregarem de queries, criamos um novo nó slave que permite aliviar o trabalho das primeiras. [2]
6.2 REPLICAÇÃO
As informações são copiadas em mais de um banco para aumentar a capacidade de recuperar essas informações. O mesmo é subdividido em duas arquiteturas principais que são: Master-Slave e Multi-Master. [3]
7 VANTAGENS EM USAR O NoSQL
Replicação simples
Escalabilidade horizontal
API simples
Software livre / código aberto
Consistência eventual
8 DESVANTAGENS EM USAR NoSQL
Capacidade limitada de consulta
Não existe padronização
Portabilidade pode ser um problema
9 QUEM ESTÁ USANDO O NoSQL
Jus Navigandi (BD Cassandra)
Buzz Volume (BD Cassandra)
Twitter (BF Cassandra)
Facebook (BD Cassandra) – (Facebook, são os criadores)
Google ( Big Table) [5,6]
10 CONCLUSÃO
O objetivo geral deste trabalho foi comentar e demonstrar como são utilizados e como foi criado o conceito de Banco de Dados Não Relacional, como o NoSQL. Como é utilizado em algumas empresas que adotaram o sistema de Banco de Dados Não Relacional e como estão tirando vantagem desta arquitetura. A necessidade de se lidar cada vez mais com volumes de dados cada vez maiores é um fator que motiva a adotar uma nova classe de banco de dados não relacionais NoSQL. Os defensores de bancos de dados NoSQL alegam que estes podem ser utilizados para criar sistemas com melhor desempenho escalabilidade e mais fáceis de programar.
REFERÊNCIAS
[1]Introdução aos bancos de dados NoSQL http://www.devmedia.com.br/introducao-aos-bancos-de-dados-nosql/26044#ixzz32OonXWRX acessado em 21/05/2014.
 [2]http://en.wikipedia.org/wiki/Shard_(database_architecture) acessado em 22/05/14
 [3]http://blog.caelum.com.br/quando-muitos-dados-passam-a-atrapalhar-replicacao-e-sharding/ acessado em 24/05/2014
[4] https://www.igvita.com/2010/03/01/schema-free-mysql-vs-nosql/ acessado em 20/04/2014
[5] http://www.wowebook.com/search/mongodb acessado em 31/05/2014
[6] http://imasters.com.br/artigo/21781/banco-de-dados/escolhendo--a-ferramenta-certa-para-o-banco-de-dados-nosql/ acessado em 21/04/2014
�PAGE \* MERGEFORMAT�7�

Outros materiais