Vous êtes sur la page 1sur 80

Por: M.Sc. Shermila Guerra Santa Cruz.

04/07/2011

GBD Ufscar-So Carlos SP Brazil.

1. 2.

3.

4.
04/07/2011

Introduo. Que problemas apresentam as BD Clssicas O que NoSql. Exemplo de aplicao, problemas que resolve e outros. Concluses.
GBD Ufscar 2

web sites e servios Web 2.0


NoSql
Motivo:

Limitaes com transaes. Disponibilidade.


04/07/2011 GBD Ufscar 3

04/07/2011

GBD Ufscar

Como se inicia um projeto ?

04/07/2011

GBD Ufscar

04/07/2011

GBD Ufscar

04/07/2011

GBD Ufscar

Gleicon Moraes.

04/07/2011

GBD Ufscar

Gleicon Moraes.

04/07/2011

GBD Ufscar

Gleicon Moraes.

04/07/2011

GBD Ufscar

Gleicon Moraes.

10

04/07/2011

GBD Ufscar

Gleicon Moraes.

11

04/07/2011

GBD Ufscar

Gleicon Moraes.

12

04/07/2011

GBD Ufscar

Gleicon Moraes.

13

D a d o s

04/07/2011

GBD Ufscar

14

04/07/2011

GBD Ufscar

15

como se utiliza um BD. No esquecer que um BD tem:

Performance. Limite de resposta. Limite de capacidade.


04/07/2011 GBD Ufscar 16

NoSql
04/07/2011 GBD Ufscar 17

Quando usar ? Como usar?


04/07/2011 GBD Ufscar 18

BD No Relacional.
Com Escalabilidade e desempenho.

04/07/2011

GBD Ufscar

19

O que ?
04/07/2011 GBD Ufscar 20

uma soluo alternativa para os BDR. Possui:


Alta escalabilidade. Desempenho.
04/07/2011 GBD Ufscar 21

Leitura e escrita Simultnea. Eficincia no armazenamento em massa de dados e, Acesso.

04/07/2011

GBD Ufscar

Xiang, P., Hou, R., Zhou, Z. Cache and consistency in NOSQL IEEE 2010

22

Bd Bigtable pelo google, 2004. O Bd Dynamo pelo Amazom,2007. O Bd Cassandra pelo Facebook,2008. O BD OD CouchDB pelo Apache 2008.
Bancos de dados nosql x SGBDs Relacionais: Analise comparativa. Ricardo W. Brito, Facultad Farias Brito e universidade de 23 Fortaleza.

04/07/2011

GBD Ufscar

04/07/2011

GBD Ufscar

Fonte: What Goes Around Comes Around por Michael Stonebraker e Joey Hellerstein(200524 2006).

Caractersticas desejvel em todo sistema e rede o processo:

Estar preparado para crescer.

04/07/2011

GBD Ufscar

25

Se tem duas opes :

Escalabilidade Vertical. 2) Escalabilidade Horizontal.


1)

04/07/2011

GBD Ufscar

26

1.-Correta afinao dos parmetros do SO. 2.- Otimizao das consultas SQL. 3.-Comprar um servidor melhor.

04/07/2011

GBD Ufscar

Renato Lucindo, UOL

27

Servidores

com nveis de uso de capacidade computacional bastantes baixos, com medias 510%, em perodos de pico usa o 30% a 40%.
Upgrade no Servidor.

04/07/2011

GBD Ufscar

28

2) Aumentar o nmero de mquinas de servidores web. Exemplo: Torcida(Metafora).

04/07/2011

GBD Ufscar

29

04/07/2011

GBD Ufscar

30

04/07/2011

GBD Ufscar

31

04/07/2011

GBD Ufscar

32

Vertical: Compre um servidor melhor


Alto custo de investimento Substituio Fcil mais dispendiosa e menos eficiente.

Horizontal: Adicione mais servidores


Baixo de custo de investimento Adio simples complexo Flexibilidade pra crescer /decrescer

04/07/2011

GBD Ufscar

33

Ser possvel escalar com banco de dados relacionais?.

SIM

04/07/2011

GBD Ufscar

34

Servidor Web

Mauricio Diana Ime Usp 2010


04/07/2011 GBD Ufscar 35

04/07/2011

GBD Ufscar

Mauricio Diana Ime Usp 2010

36

Ecomerce.

04/07/2011

GBD Ufscar

Mauricio Diana Ime Usp 2010

37

S a Leitura se consegue aumentar.

Mauricio Diana Ime Usp 2010


04/07/2011 GBD Ufscar 38

04/07/2011

GBD Ufscar

Mauricio Diana Ime Usp 2010

39

Mauricio Diana Ime Usp 2010


04/07/2011 GBD Ufscar 40

Juno(joins) Integridade referencial Normalizao.

e ainda carrega todo o peso de um SGBDR. Escalar possvel, mais se perde as caractersticas que tornam SGBDR teis.
Mauricio Diana Ime Usp 2010
04/07/2011 GBD Ufscar 41

Fonte: [1] 10 Regras para escalar com desempenho em simples operaes de banco de dados. Michael Stonebraker e Rick Catel ( junho 2011).

6.- Evite operaes Multi-Node. 7 .- No tente construir consistncia ACID voc mesmo. 9 .- Preste ateno ao desempenho do n.

10 Regras para escalar com desempenho em simples operaes de banco de dados. Michael Stonebraker e Rick Catel ( junho 2011).
04/07/2011 GBD Ufscar 42

Distribuir um BD em varias Maquinas.

04/07/2011

GBD Ufscar

43

Partio de operaes e dados significa simplicidade administrativa, no assumir uma medida para tudo. (Michael Stonebraker e Rick Cattell).

04/07/2011

GBD Ufscar

44

Latncia. Vazo. Segurana. Manutenibilidade. Testabilidade.

04/07/2011

GBD Ufscar

45

Resolve problemas especficos.


04/07/2011 GBD Ufscar 46

Site Mukirama, promove leiles onde os usurios participam comprando itens com valores bem abaixo daqueles praticados no mercado. Usurios simultneos usando o sistema!!!
04/07/2011 GBD Ufscar 47

Com BDR paga um preo alto pela concorrncia, visto que comearia a demorar para obter o lock, refazer o lock e atualizar o status da tarefa.

04/07/2011

GBD Ufscar

48

possvel LER com mltiplas computadores, mais infelizmente no escrever.

04/07/2011

GBD Ufscar

49

1.-Controle da concorrncia

Numero usurios por Minuto. Numero Requisies simultneas. Numero requisies por Minuto. Usurios simultneos usando o sistema.

04/07/2011

GBD Ufscar

50

Buscando eficincia, para o controle e persistncia* das tarefas que precisam escrever simultaneamente.
Nosql evita os Locks(Modelo de concorrncia Simplificado).

* aqueles que permanecem existindo mesmo aps o trmino da execuo do programa.


04/07/2011 GBD Ufscar 51

Cache Distribudo

04/07/2011

GBD Ufscar

52

04/07/2011

GBD Ufscar

53

2.-Criao de Tabelas dinmicos. 3.- Excesso joins. 4.- Colunas extras.

Gleicon Moraes.
04/07/2011 GBD Ufscar 54

5.-Resultados de querys como tabelas no cache. 6.- Arquivos log como tabelas. 7.- Stoned Procedures.
Antipatterns sql!!!

04/07/2011

GBD Ufscar

Gleicon Moraes.

55

Antipatterns Sql

Alternativ as

Tabela Dinmicas Exceso Joins Colunas Extras

Modelo de dados orientado a documentos. Chavevalor propiedades Sharding. Desnormalizar, serializar objetos. Modelo de dados orientado a documentos/ modelo de dados chave-valor.

04/07/2011

Gleicon Moraes.
GBD Ufscar

56

Antip. Sql
Querys como tabelas no cache Log como Tabela Stoned Procedures

Alternativ as
Desnormalizar, MemCached, Redis + AOF + EXPIRE

Mongo DB capped Collection, Redis +RRD Pattern, Riak Map/Reduced

04/07/2011

GBD Ufscar

Gleicon Moraes.

57

PAC

04/07/2011

GBD Ufscar

Fonte: Fayaz Yusuf Khan, Guided by, Nimi Prakash P. System Analyst Computer Science & Engineering Department September 29, 2010 to CS 708 Seminar NoSQL.

58

Consistncia. Disponibilidade. Tolerncia a particionamento.- Se um ou mais ns falhar, o sistema ainda funciona e se torna consistente quando o sistema entra em operao.
Fonte: Fayaz Yusuf Khan, Guided by, Nimi Prakash P. System Analyst Computer Science & Engineering Department September 29, 2010 to CS 708 Seminar NoSQL.

04/07/2011

GBD Ufscar

59

Embora seja desejvel ter PAC em cada sistema, infelizmente, nenhum sistema pode atingir os trs ao mesmo tempo.

04/07/2011

GBD Ufscar

60

-API, interfaces especficas de consulta e peculiaridades.


no seu fornecedor).

(confiar

04/07/2011

GBD Ufscar

61

C+A (consistncia + disponibilidade) A+P (disponibilidade + tolerncia a particionamento) C+P(consistncia +tolerncia a particionamento)

Controvrsia!!!
04/07/2011 GBD Ufscar 62

Basicamente Disponveis.

Estado Flexvel(Soft Estate).


Eventualmente Consistente.- Torna-se consistente num momento posterior. ( o tempo posterior tem uma formulada predenifida)

04/07/2011

GBD Ufscar

63

Google, Yahoo, Facebook, Amazon, eBay, etc. Constri grandes aplicaes com o CAP e BASE.

04/07/2011

GBD Ufscar

Fonte: Fayaz Yusuf Khan, Guided by, Nimi Prakash P. System Analyst Computer Science & Engineering Department September 29, 2010 to CS 708 Seminar NoSQL. 64

Chave/Valor. Orientado a Colunas. Grafos. Orientado a documentos.

04/07/2011

GBD Ufscar

65

A estrutura de dados do Apache Cassandra trabalha da seguinte forma: Keyspaces, ColumnFamily, Column, SuperColumn,....

04/07/2011

GBD Ufscar

66

04/07/2011

GBD Ufscar

67

04/07/2011

GBD Ufscar

68

id.....nome.........endereo...................telefone ============================================== 1......Fulano.......Av. Paulista, 100.........9999-9999 2......Ciclano......Av. dos Estados, 10.....8888-8888 Banco de dados Relacional [1],[Fulano],[Av. Paulista, 100],[9999-9999]; [2],[Ciclano],[Av. dos Estados, 10],[8888-8888]; Banco de dados Orientado a Columna [1],[2], [Fulano],[Ciclano], [Av. Paulista, 100], [Av. dos Estados, 10], [9999-9999], [8888-8888];
04/07/2011 GBD Ufscar 69

Um grafo representado como um conjunto de pontos (vrtices) ligados por retas (as arestas). Dependendo da aplicao, as arestas podem ser direcionadas, e so representadas por setas.

04/07/2011

GBD Ufscar

70

Web as pginas na web se relacionam atravs de links criando um gigantesco grafo. Redes sociais: As pessoas se interligam atravs da amizade. Se A amigo de B e B amigo de C, indiretamente, A esta conectado a Orkut um exemplo de rede de amigos que, um grafo. Voc possui amigos e est conectado a eles.
GBD Ufscar 71

04/07/2011

Cinco cidades com seus respectivas distncias.

04/07/2011

GBD Ufscar

72

Descentralizao, Escalabilidade, Tolerncia falhas, Balanceamento de carga.*

Mauricio Diana Ime Usp 2010


04/07/2011 GBD Ufscar 73

Esquema livre.

Distribudos .
Escalabilidade horizontal. Consistncia eventual/ Base(Not Acid). Facil suporte replicao .* API Simple*.
Fonte: http://nosql-database.org/ [based on 5 sources, 11 constructive feedback emails and1 disliking comment.
04/07/2011 GBD Ufscar

Port (Eventual: significa talvez no acontea) En ( vai acontecer mais no se sabe em que momento). Fonte: Mauricio Diana.
74

Aderindo a um banco de dados NoSql muita da responsabilidade de cuidar dos dados fica a cargo da aplicao. Mais vc conta com uma arquitetura e modelo de dados flexvel onde vc vai ter menos dor de cabea quando cresce teu BD.
Ver grfico estatstico dos pases que pesquisa NoSql: http://www.google.com/trends?q=nosql
04/07/2011 GBD Ufscar 75

1.- NoSql mais funcional frente ao sistema clssico: porque cada entrada(registro) no nosql, pode guardar todas as verses pelo que ele passou com uma velocidade de acesso e uma capacidade de indexao e criao de ndices superior a um SGBDR. Tambm conta com replicao bidirecional* e escalamento.

04/07/2011

GBD Ufscar

76

2.-Foras, fraquezas, riscos(nosql escenario menos definido, no esquecer que o mais promissor). 3.-DBA poliglota.- NoSql tem varias solues para cenrios especficos. 4.-Contexto importa.- Cada caso deve ser estudado com cuidado.

04/07/2011

GBD Ufscar

77

Simpsios

Mauricio Diana (Mestrado Ime-Usp)Perdas e Ganhos NoSql. http://www.slideshare.net/mdediana/no-sql-perdaseganhos. Lucindo Moraes (Mestrado Ime-U Escalabilidade no Qcon 2010. http://qconsp.com/palestrante/renato-lucindo. Alexandre Porcelli e Gleicom Moraes NoSql no infoq 2010.
http://www.7co.cc/ http://www.infoq.com/br/author/Alexandre-Porcelli-e-Gleicon-Moraes

04/07/2011

GBD Ufscar

78

04/07/2011

[1]: FayazYusuf Khan, Guided by, Nimi Prakash P. System Analyst Computer Science & Engineering Department September 29, 2010 to CS 708 Seminar NoSQL. [2]: http://www.webartigos.com/articles/17334/1/um-exemplo-deimplementacao-de-banco-de-dadosdistribuido/pagina1.html#ixzz1OiBMCcii [3]. Artigo de Bancos de dados nosql x SGBDs Relacionais: Analise comparativa Ricardo W. Brito, Facultad Farias Brito e universidade de Fortaleza. [4]Seminar NoSql Prepared by Mimi Parakash P. Systema Analist Computer Science & Engineerin Department, setember 2010. [6]NoSql Relational Database Management System:Home page Strozzi.it.http://www.strozzi.it/cgibin/CSA/tw7/I/en_Us/nosql/Homepage.Acessado 13/05/2011 [7] 10 Regras para escalar com desempenho em simples operaes de banco de dados. Michael Stonebraker e Rick Catel ( junho 2011). [8] What Goes Around Comes Around por Michael Stonebraker e Joey Hellerstein(2005-2006). [9]Xiang, P., Hou, R., Zhou, Z. Cache and consistency in NOSQL IEEE 2010.
GBD Ufscar 79

Grata pela ateno!

Perguntas, duvidas, sugestes:


shermilaguerra@gmail.com

04/07/2011

GBD Ufscar

80

Vous aimerez peut-être aussi