nosql - uma real alternativa

50
no:sql Not only SQL RENATO MOLINA TOTH Renato Molina Toth www.renatomolina.in

Upload: renato-molina-toth

Post on 05-Dec-2014

1.656 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: NOSQL - Uma real alternativa

no:sqlNot only SQL

RENATO MOLINA TOTH

Renato Molina Toth www.renatomolina.in

Page 2: NOSQL - Uma real alternativa

O que é?

Page 3: NOSQL - Uma real alternativa

• Não é uma nova tecnologia, é uma nova abordagem

•Propõe um modelo alternativo de banco de dados

•Não é um modelo relacional

•Não respeita as propriedades de ACID

O que é?

Page 4: NOSQL - Uma real alternativa

É um conjunto de propriedades fundamentais que garantem consistência de dados.

ACID?

Page 5: NOSQL - Uma real alternativa

Atomicidade - Capacidade de uma transação ter todas as suas operações executada ou nenhuma delas.

Resumindo “ou vai, ou racha“

ACID – no bom popular

Page 6: NOSQL - Uma real alternativa

Consistência - Indica que a base de dados está consistente no início da transação e ao seu final, porém durante a transação certas regras podem ser quebradas.

Resumindo “antes do pai sair e depois que chegar as coisas têm que estar arrumadas, durante seja lá o que Deus quiser “

ACID – no bom popular

Page 7: NOSQL - Uma real alternativa

Isolamento - Capacidade das operações de uma transação não serem vistas pelas outras transações até que esta esteja encerrada.

Resumindo "não mete o bedelho no que estou fazendo “

ACID – no bom popular

Page 8: NOSQL - Uma real alternativa

Durabilidade - Indica que depois de uma transação ser executada com sucesso, as alterações efetuadas persistam e não sejam desfeitas.

Resumindo "ajoelhou tem que rezar "

ACID – no bom popular

Page 9: NOSQL - Uma real alternativa

Quebrar as correntes e a ditadura da base de dados relacional, junto com as

propriedades ACID!

Proposta!

Page 10: NOSQL - Uma real alternativa

Cenário realO que realmente é necessário para um sistema funcionar?

Page 11: NOSQL - Uma real alternativa

Cenário realO que realmente é necessário para um sistema funcionar?

Page 12: NOSQL - Uma real alternativa

O que um sistema precisa para funcionar ?

Teorema de Brewer’s

Cenário real

Page 13: NOSQL - Uma real alternativa

ACID x BASE

Page 14: NOSQL - Uma real alternativa

BASEBasically Available

Soft state Eventual consistency

Page 15: NOSQL - Uma real alternativa

Usa conceito de BASE

Alta perfomance

Alta escalabilidade

Configurações de particionamento fáceis

Abordagem não-relacional

Page 16: NOSQL - Uma real alternativa

Relacional x não-relacionalAplicação crescendo, parabéns!

Mas e agora?

Page 17: NOSQL - Uma real alternativa

Scale Up

Scale out

Page 18: NOSQL - Uma real alternativa

Scale Up

Page 19: NOSQL - Uma real alternativa

Problemas – Scale UpHardware possuem limitações!

Page 20: NOSQL - Uma real alternativa

Scale out

Page 21: NOSQL - Uma real alternativa

Problems – Scale outConfiguração é complexa!

Page 22: NOSQL - Uma real alternativa

FilosofiaSimple n’ robust!

Se preocupe com sua aplicação!

Não precisamos mais do antigo profissional DBA

Relacional x não-relacional

Page 23: NOSQL - Uma real alternativa

• Chave/Valor

• Documento

• Tabular

• Grafo

• Outros

Tipos de banco de dados não relacionais

Page 24: NOSQL - Uma real alternativa

• Chave/Valor

• Documento

• Tabular

• Grafo

• Outros

Tipos de banco de dados não relacionais

Page 25: NOSQL - Uma real alternativa

Chave / ValorComo o próprio nome diz, é um modelo de banco de dados que associa um registro a uma chave.

Page 26: NOSQL - Uma real alternativa

Chave / ValorComo o próprio nome diz, é um modelo de banco de dados que associa um registro a uma chave.

This is a hash!

Page 27: NOSQL - Uma real alternativa

Totalmente livre de schemas de banco de dados, deixando a semântica e os tipos de dados a critério do desenvolvedor.

Interface para desenvolvimento entretanto simples e patronizadas.

Put(chave, valor)

Get(chave)

Chave / Valor

Page 28: NOSQL - Uma real alternativa

Redundância e replicação

Estudo de caso

Chave / Valor

Page 29: NOSQL - Uma real alternativa

Amazon SimpleDB

Chave / Valor - Serviços na cloud

Page 30: NOSQL - Uma real alternativa

Azure table Storage

Redis

Riak

Genie

Chave / Valor - Exemplos

Page 31: NOSQL - Uma real alternativa

Semelhante ao chave valor, entretanto possui uma estrutura definida por um arquivo de marcação (xml, json, etc)

Um dos modelos mais usados no mercado

Baseados em Documento

Page 32: NOSQL - Uma real alternativa

{Type: contactFirst:PauloLastName:SouzaEmail: work: [email protected]

home: [email protected]}

Baseados em Documento

Page 33: NOSQL - Uma real alternativa

CouchBD MongoDBBaseados em Documento

Page 34: NOSQL - Uma real alternativa

Baseados em Grafo

“Tipicamente, grafos podem ser definidos como uma abstração matemática que podem ser representados através de vértices e arestas, representando caminhos.”

Page 35: NOSQL - Uma real alternativa

Baseados em Grafo

Definem registros em forma de vértices(conteúdo, propriamente dito) e arestas (relacionamento entre os conteúdos)

Não necessita de um modelo de armazenamento, como o baseado em documentos.

Page 36: NOSQL - Uma real alternativa

Baseados em Grafo

Page 37: NOSQL - Uma real alternativa

Baseados em Grafo

Maior complexidade

Menor redundância e replicação desnecessária

Page 38: NOSQL - Uma real alternativa

Complexidade x Armazemento

Page 39: NOSQL - Uma real alternativa

Mitos sobre o noSQL

É realmente escalonável?

Não precisamos mais de profissionais com o perfil de DBA?

Baixo custo

Page 40: NOSQL - Uma real alternativa

Desempenho - Benchmarks

Dificuldades em encontrar um experimento válido, consiste e com parâmetros válidos.

Estudo de caso, Yahoo! Cloud Serving.

Levantar dados baseados na latência após receber uma carga de trabalho, através de uma ferramenta feito em java.

Page 41: NOSQL - Uma real alternativa

Arquitetura da ferramenta

Page 42: NOSQL - Uma real alternativa

Bancos que foram analisados

Sherpa

Page 43: NOSQL - Uma real alternativa

Desempenho – carga A

Page 44: NOSQL - Uma real alternativa

Desempenho – carga B

Page 45: NOSQL - Uma real alternativa

noSQL na prática

Page 46: NOSQL - Uma real alternativa

Vantagens x desvantagens

Procurar a solução ideal para o problema sempre!

Page 47: NOSQL - Uma real alternativa

Modelo hibrido

Todos os sistemas geralmente possuem necessidades cruciais de consistência em algum módulo

Pensar em aproveitar de melhor forma as duas abordagens

Page 48: NOSQL - Uma real alternativa

Conclusão

Page 49: NOSQL - Uma real alternativa

Questões

Page 50: NOSQL - Uma real alternativa

Obrigado

Renato Molina Tothwww.renatomolina.in