Shermila Guerra Santa Cruz
Orientador: Ricardo Rodrigues Ciferri

O que é computação em nuvem (CN)?

Vantagens e desvantagens da computação em nuvem

Serviços da computação em nuvem
◦ SaaS, IasS, PasS e DbasS

Em que caso BD relacional não apresenta eficiência

NoSQL: características, vantagens e desvantagens

Perguntas usuais sobre NoSQL e BDs relacionais

Conclusões

Próximos passos
GBD da UFSCar
2

CN é uma solução completa na qual todos os recursos
de computação (hardware, software, rede,
armazenamento, etc.) são fornecidos rapidamente aos
usuários à medida que a demanda exige.
◦ Fonte:
http://www.ibm.com/developerworks/br/websphere/techjourn
al/0904_amrhein/0904_amrhein.html
GBD da UFSCar
3
GBD da UFSCar
4
GBD da UFSCar
5
Eric Schmidt, atual presidente da Google, diz que o computador
do futuro é a internet. “Hoje, se você tem um problema no
computador, está tudo perdido, é terrível. Mas, com a computação
em nuvem, não importa se você usa o celular, o computador ou
qualquer outro aparelho, tudo estará guardado na internet”
GBD da UFSCar
6

Reduzir custos associados ao fornecimento de serviços de
TI

Reduzir custos de capital e custos operacionais pagando
somente quando são usados
OBS: As empresas podem atender facilmente às
necessidades dos mercados em constante mudança para
assegurar que sempre estejam à frente para seus
consumidores.
GBD da UFSCar
7
Existem sites que oferecem hospedagem em nuvem às
pessoas e empresas. O que pode ser um perigo?

Como ter certeza de que é um site seguro.

Como saber se este servidor vai estar sempre disponível, 24
horas x 7 dias.

Os documentos podem ser roubados ou disseminados pelo
infinito espaço virtual.

Segurança

Disponibilidade
GBD da UFSCar
8
Os serviços são:

Software SaaS

Infraestrutura IaaS

Plataformas de desenvolvimento PaaS

Bancos de dados Dbaas1
1.A Database-as-a-Service for the Cloud. Carlo Curino
curino@mit .edu. Evan P. C. Jones [email protected]. Raluca
Ada Popa [email protected]
GBD da UFSCar
9
SaaS
GBD da UFSCar
10
GBD da UFSCar
11
Concorrência.
Num Banco de dados relacional, supondo que seja
necessário
atualizar
(escrever)
1000
tarefas
simultaneamente, se paga um preço alto pela concorrência,
visto que começaria a demorar para obter o lock, refazer o
lock e atualizar o status da tarefa. Muitos consideram que o
uso de banco de dados relacionais é um erro para este tipo
de problema (custo proibitivo).
GBD da UFSCar
12
É possível LER com múltiplos computadores, mas infelizmente
não é possível escrever.
GBD da UFSCar
13
Há duas opções:
1)
Aumentar o poder do servidor,
memória,
processador e armazenamento. Este tipo de solução é
chamada de Escalabilidade Vertical (scale up), como
mostra a figura abaixo:
GBD da UFSCar
14
2) Aumentar o número de máquinas de servidores
web. Isto é chamado de Escalabilidade Horizontal
(scale out), como mostrado no esquema abaixo:
GBD da UFSCar
15
Buscando eficiência, pode-se usar uma solução NoSQL para
controle e persistência das tarefas que precisam escrever
simultaneamente, evitando-se os locks, graças ao modelo de
concorrência simplificado.
Porém, NoSQL rompe uma longa história de banco de dados
relacionais com propriedades ACID.
GBD da UFSCar
16
A fama dos bancos de dados relacionais se deu porque eles prometiam as

propriedades ACID:
 Atomicidade
 Consistência
 Isolamento
 Durabilidade

O problema com ACID é a necessidade de muito mais viagens para escalar um sistema de
vários nós.

Tempo de Down é inaceitável. Assim, o sistema precisa ser confiável. Confiabilidade requer
vários nós para lidar com falhas no equipamento.

Para fazer um sistema escalável, que pode lidar com muitas leituras e escritas, são necessários
mais nós.
Fonte: Fayaz Yusuf Khan, Guided by, Nimi Prakash P.
System Analyst Computer Science & Engineering
Department September 29, 2010 to CS 708 Seminar NoSQL.
GBD da UFSCar
17


PAC
BASE
Fonte: Fayaz Yusuf Khan, Guided by, Nimi Prakash P.
System Analyst Computer Science & Engineering
Department September 29, 2010 to CS 708 Seminar NoSQL.
GBD da UFSCar
18

Consistência: os dados estão corretos o tempo todo. O que é
escrito é ​o que é lido.

Disponibilidade: é possível ler e escrever os dados o tempo
todo.

Tolerância a Particionamento: se um ou mais nós falhar, o
sistema ainda funciona e se torna consistente quando o sistema
entra em operação.
Fonte: Fayaz Yusuf Khan, Guided by, Nimi Prakash P.
System Analyst Computer Science & Engineering
Department September 29, 2010 to CS 708 Seminar NoSQL.
GBD da UFSCar
19
-API, interfaces específicas de consulta e peculiaridades.
(confiar no seu fornecedor).
GBD da UFSCar
20
“Embora seja desejável ter consistência, alta
disponibilidade e tolerância à partição em
cada sistema, infelizmente, nenhum sistema
pode atingir os três ao mesmo tempo”.
GBD da UFSCar
21

Basicamente Disponíveis: o sistema parece funcionar o tempo todo.

Estado Flexível (Soft State): não precisa ser coerente o tempo todo.

Eventualmente Consistente: torna-se consistente em algum momento
posterior.
Todas as empresas que constroem grandes aplicações,
criam-nas de acordo com as propriedades PAC e BASE:
Google, Yahoo, Facebook, Amazon, eBay, etc.
Fonte: Fayaz Yusuf Khan, Guided by, Nimi Prakash P.
System Analyst Computer Science & Engineering
Department September 29, 2010 to CS 708 Seminar NoSQL.
GBD da UFSCar
22

Não-relacionais

Distribuídos

Escalabilidade horizontal

Esquema livre

Suporte a replicação

Consistência eventual
Fonte: http://nosql-database.org/
GBD da UFSCar
23
“Construir aplicativos web em cima de uma
camada de armazenamento de dados
tradicional (um único SGBD relacional) não
é mais suficiente. O objetivo final é melhorar
o desempenho e a confiabilidade”.
Drop ACID and think about Data”, High Scalability Blog
http://highscalability.com/drop-acid-and-think-about-data
GBD da UFSCar
24

Orientado a documentos

Chave / valor

Tabular

Grafos
GBD da UFSCar
25
nome
Documento
Chavevalor
Tabular
Grafo
modo de durabilidade
java
ruby python php.net http
mongodb baseado em réplica de dados sim
sim
sim
sim sim sim
couchdb único nó
sim
sim
sim
sim sim sim
ravendb
único nó
não
não
não
não sim sim
redis
em memória, mas pode ser
serializado no disco
sim
sim
sim
sim sim não
riak
baseado em réplica de dados sim
sim
sim
sim sim sim
cassandra baseado em réplica de dados sim
sim
sim
sim sim não
neo4j
único nó
sim
sim
sim
sim não sim
sones
único nó
não
não
não
não sim sim
GBD da UFSCar
26




Descentralização
Escalabilidade
Tolerância a falhas
Balanceamento de carga
(Perde-se)
 Junções devem ser feitas na aplicação
 Normalização
 Integridade de entidade e referencial
 Transparência de localização
GBD da UFSCar
27
Os bancos de dados relacionais desapareceram?

Se você tem um banco de dados relacional em um único servidor e
se triplica sua carga sem problemas, não é necessário mudar.

Se você pode atualizar os dados rapidamente sem problemas, não é
necessário mudar.

Se você quer melhorar o desempenho e a escalabilidade em função
da demanda de seus clientes, você vai precisar de um banco de
dados não-relacional ou NoSQL.
GBD da UFSCar
28
Para que serve NoSQL?

Um dos mitos do NoSQL é que só 10% dos sites de hoje em dia
devem usar o NoSQL. Isso na verdade é uma interpretação errônea.
A ideia da afirmação é que 90% dos sites não sentiriam uma melhora
de desempenho significativa. Imagine um blog com 10 visitas diárias,
qualquer banco de dados atual serve pra essa aplicação, até mesmo se
tiver 10 mil visitas diárias.
GBD da UFSCar
29
Onde posso usar NoSQL?
Muito se tem visto sobre usar o NoSQL em aplicações web de
grande porte, porém ela pode ser usada em qualquer tipo de
aplicação, na web ou no desktop. Não há limites.
GBD da UFSCar
30
Posso usar NoSQL com um banco de dados relacional?
Você pode e deve usar um NoSQL com algum banco de dados
relacional. Você pode até usar vários tipos de NoSQL e um
MySQL. Não é necessário, mas é possível.
Por exemplo, 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.
GBD da UFSCar
31
O que acontece se me adiro a um banco de dados NoSQL?
Aderindo a um banco de dados NoSQL,
muita da
responsabilidade de cuidar dos dados fica a cargo da aplicação.
É ela que define como funcionam e como se relacionam os
documentos.
GBD da UFSCar
32
Dois focos:
Desempenho / Escalabilidade
Simplicidade
 Contexto importa: cada caso deve ser estudado com
cuidado.

Balancear vantagens e desvantagens é fundamental.

Futuro incerto (mas promissor).
Como toda decisão arquitetural, escolher por SGBD
relacional ou não relacional apresenta um trade off
entre ACID ou BASE e CAP. Cada caso deve ser
estudado com cuidado.

GBD da UFSCar
33




Foco em chave-valor.
Arquitetura de referência.
Taxonomia SGBD não relacional
Experimentos de escalabilidade e desempenho.
GBD da UFSCar
34
Download

Cloud computing