Buscar

Bancos de Dados NoSQL e sua escalabilidade

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 25 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 25 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 9, do total de 25 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

*
FUNDAMENTOS E PROJETOS DE 
BIG DATA
*
AULA 10
*
 Exercícios 
Recordar aula 9
Pergunta 1: Cite uma dificuldade em trabalhar com NoSQL:
Ausência de ferramentas de alto nível.
Muitas ferramentas de alto nível no mercado.
Padrões nas formas dos bancos de dados.
Segue as formas de ACID.
Nenhuma das respostas acima.
*
Exercícios 
Recordar aula 9
Gabarito: (a)
Pergunta 2: Quando utilizamos o banco de dados NoSQL?
Quando temos grandes volumes de dados estruturados
Quando temos dados fora de padrões.
Quando existem as categorias ACID. 
Quando temos bancos relacionais.
Nenhuma das respostas.
*
 Exercícios 
Recordar aula 9
Gabarito: (b) 
Pergunta 3: Cite duas diferenças entre bancos de dados relacionais e os NoSQL:
Desempenho e modelagem.
SQL estendido e APIS.
Escala e APIs.
Desempenho e SQL estendido.
Nenhuma das respostas.
*
 Exercícios 
Recordar aula 9
Gabarito: ( c )
Pergunta 4: Qual dos itens abaixo se refere a diferenças de alto nível entre bancos relacionais e NoSQL.
BDs NoSQL, as consultas não são estão focados na coleção de documentos. 
Banco de dados relacional não é indicado para aplicações transacionais. 
Banco de dados NoSQL trabalho com dados estruturados somente.
BDs SQL são boa opção para o ambiente de consulta intensivo complexo, enquanto bds NoSQL não são boa opção para consultas complexas. 
Nenhuma das respostas. 
 Gabarito: (d)
*
Exemplos de Bancos de Dados Relacionais NoSQL
 (cont.)
2) CouchDB
É também uma base de dados NoSQL documento base. Ele armazena dados em forma de documentos JSON. 
A seguir estão alguns dos benefícios do CouchDB e pontos fortes:
 Esquema-less: Como membro da família NoSQL, ele também tem esquema dinâmico que torna mais flexível, tendo uma forma de documentos JSON para armazenar dados.
*
Exemplos de Bancos de Dados Relacionais NoSQL
A seguir estão alguns dos benefícios do CouchDB e pontos fortes: (cont.)
 Consulta HTTP: Você pode acessar seus documentos do banco de dados usando o seu navegador web.
 Resolução de Conflitos: Tem detecção de conflitos automático que é útil, enquanto em um banco de dados distribuído.
 Replicação Fácil: Implementação de replicação é bastante para a frente.
*
Exemplos de Bancos de Dados Relacionais NoSQL
3) Redis
Redis é um outro banco de dados Open Source NoSQL, que é usado principalmente por causa de sua alta velocidade. Ele é escrito em linguagem C ANSI.
A seguir estão alguns dos benefícios Redis e pontos fortes:
 As estruturas de dados: Redis fornece estruturas de dados eficientes para uma extensão que às vezes é chamado de servidor de estrutura de dados. As chaves armazenadas no banco de dados pode ser hashes*, listas, cordas, ordenados ou conjuntos não ordenados.
*Hash - um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo.
 
*
Exemplos de Bancos de Dados Relacionais NoSQL
A seguir estão alguns dos benefícios Redis e pontos fortes: (cont.)
 Redis como cache: Você pode usar o Redis como um cache através da implementação de chaves com tempo limitado de vida para melhorar o desempenho.
 Muito rápido: É considerar como um dos servidores NoSQL mais rápido, uma vez que trabalha com o conjunto de dados na memória.
 
*
Por que esses tipos de Bancos de Dados possuem tanta escalabilidade?
 Muitos acham que esses bancos de dados escalam simplesmente por causa da ausência de um schema (schema free), logo não há verificação de integridade e de relacionamentos. 
..........Mas seria só isso? 
O MySQL, nos seus primórdios, quando não fazia tais verificações, ainda assim não era rápido como esses novos competidores. 
........Quais são então os segredos para tanta escalabilidade?
 
*
Por que esses tipos de Bancos de Dados possuem tanta escalabilidade?
 Todos estes novos bancos tem em comum que eles são key-value stores ou seja salvam, como o nome sugere, um conjunto de entradas formadas por uma chave associada a um valor e o valor poderia ser de qualquer tipo, um binário ou string que está sendo salvo de forma denormalizada (schema-free). 
.........Diferentemente dos bancos SQL não existe uma esquema forte. 
*
Por que esses tipos de Bancos de Dados possuem tanta escalabilidade?
 Essa abordagem facilita a distribuição dos dados entre vários servidores onde cada servidor possui apenas uma fatia dos dados.
 O CouchDB é um dos mais famosos no time dos key-value stores. Ele usa documentos para definir uma estrutura no banco, armazenando uma chave associada ao um documento. Um documento é apresentado como JSON.
*
Por que esses tipos de Bancos de Dados possuem tanta escalabilidade?
 A ideia é não salvar os dados em linhas como estamos acostumados pelos bancos relacionais. Os dados serão salvos através de colunas.
E isso altera alguma coisa? 
.......Para o desenvolvedor que vai utilizar o banco de dados, a ideia é que isso seja transparente, mas para quem desenvolveu o banco, há enormes melhorias.
*
Por que esses tipos de Bancos de Dados possuem tanta escalabilidade?
 Usando colunas, podemos empacotar os dados melhor já que os dados semelhantes, de mesmo formato, estão próximos um do outro. 
Gravando dados empacotados em BDs,  traz grandes vantagens, porque podemos recuperar e armanezar mais informações em menos tempo.
*
Por que esses tipos de Bancos de Dados possuem tanta escalabilidade?
 Com colunas também podemos aplicar projeções sobre os dados mais fácil. A segunda vantagem é importante principalmente para sistemas  OLAP (Online Analytic Process) que usam esse tipo de pesquisas separadamente.
 O banco fica com certeza mais simples, escalável rápido, mas perdemos as conhecidas garantias dos bancos relacionais. 
*
Por que esses tipos de Bancos de Dados possuem tanta escalabilidade?
 Como toda decisão arquitetural, escolher por bancos de dados não relacionais apresenta um trade off: ACID ou BASE ou alguma coisa no meio. 
Vale a pena? 
Cada caso deve ser estudado com cuidado. 
*
Por que esses tipos de Bancos de Dados possuem tanta escalabilidade?
...... Algumas aplicações usam bancos de dados não relacionais para uma leitura e escrita temporária, atualizando um banco relacional de tempos em tempos, tirando vantagem das duas estratégias.
*
Análise Comparativa entre BD Relacional e NoSQL
Relacional NoSQL
Escalonamento
Possível, mas complexo. 
Devido à natureza
estruturada do modelo, a
adição de forma dinâmica
e transparente de novos
nós no grid não é
realizada de modo natural.
Uma das principais
vantagens desse modelo.
Por não possuir nenhum
tipo de esquema pré-definido,
o modelo possui
maior flexibilidade o que
favorece a inclusão
transparente de outros
elementos.
*
Análise Comparativa entre BD Relacional e NoSQL
Relacional NoSQL
Consistência
Ponto mais forte do
modelo relacional. As
regras de consistência
presentes propiciam uma
maior grau de rigor
quanto à consistência das
informações.
Realizada de modo
eventual no modelo: só
garante que, se nenhuma
atualização for realizada
sobre o item de dados,
todos os acessos a esse
item devolverão o último
valor atualizado.
*
Análise Comparativa entre BD Relacional e NoSQL
Relacional NoSQL
Disponibilidade
Dada a dificuldade de se
conseguir trabalhar de
forma eficiente com a
distribuição dos dados,
esse modelo pode não
suportar a demanda muito
grande deinformações do
banco.
Outro fator fundamental
do sucesso desse modelo.
O alto grau de
distribuição dos dados
propicia que um maior
número de solicitações
aos dados seja atendida
por parte do sistema e que
o sistema fique menos
tempo não disponível.
*
Conclusão da utilização destes BDs
 A decisão de se realizar uma mudança dessa natureza optar por um abordagem NoSQL em contraste com uma linguagem de consulta, como é o caso do SQL para os SGBDs relacionais. Não existe, em qualquer abordagem NoSQL, nada que se aproxime da simplicidade e expressividade oferecida pelo SQL. 
 Adicionalmente, perde-se toda a funcionalidade oferecida pela linguagem, tais como funções, rotinas, etc. Além disso, deixa-se de utilizar a mais simples restrição de integridade sobre o banco, o que pode tornar a aplicação mais pesada.
*
Conclusão da utilização destes BDs
 Adicionalmente, deve-se ter em mente que a escalabilidade em alto grau faz-se necessária apenas em bancos de grande porte, nos quais a alta disponibilidade é imprescindível.
 Utilizar uma solução NoSQL para bancos de dados nos quais a
disponibilidade não seja um fator imprescindível ainda é uma
abordagem discutível.
*
Conclusão da utilização destes BDs
 Raízes Open Source - Muitos bancos de dados NoSQL tem raízes na comunidade open source. Talvez isso tenha sido fundamental para o rápido crescimento de uso e popularidade. 
Nota-se que as companhias que oferecem versões comerciais de bancos NoSQL com uma forte estrutura de suporte e serviços, estão ao mesmo tempo participando direta ou indiretamente de comunidades de bancos de dados NoSQL open source. 
*
Conclusão da utilização destes BDs
 Baixo Custo Operacional - Devido ao peso do open source no NoSQL, o custo para iniciar a utilização desses bancos de dados também se torna muito baixo ou zero. 
É comum ouvir dizerem que a transição relacional -> NoSQL diminuiu muito os custos enquanto obteve um desempenho melhor ou igual ao anterior.
Grandes bancos de dados relacionais requerem computadores ou mainframes caros. Com o NoSQL, esse custo também diminui, pois este foi desenvolvido para trabalhar em ambientes distribuídos.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Outros materiais