SlideShare uma empresa Scribd logo
1 de 50
no : sql Not only SQL RENATO MOLINA TOTH Renato Molina Toth  www.renatomolina.in
O   que   é ?
[object Object],[object Object],[object Object],[object Object],O   que   é ?
É um conjunto de propriedades fundamentais que garantem  consistência  de dados. ACID ?
Atomicidade  - Capacidade de uma transação ter todas as suas operações executada ou nenhuma delas.  Resumindo “ou vai, ou racha“ A CID  – no bom  popular
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 “ A C ID  – no bom  popular
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 “ A C I D  – no bom  popular
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 " A CI D  – no bom  popular
Quebrar as correntes e a ditadura da  base de dados relacional , junto com as propriedades  ACID !  Proposta!
Cenário   real O que realmente é necessário para um sistema funcionar?
Cenário   real O que realmente é necessário para um sistema funcionar?
O que um sistema precisa para funcionar ? Teorema de Brewer’s Cenário   real
ACID   x   BASE
BASE Basically Available  Soft state Eventual consistency
Usa conceito de BASE Alta perfomance Alta escalabilidade Configurações de particionamento fáceis Abordagem  não -relacional
Relacional x  não-relacional Aplicação crescendo, parabéns! Mas e agora?
Scale Up  Scale out
Scale  Up
Problemas – Scale Up Hardware possuem limitações!
Scale  out
Problems – Scale out Configuração é complexa!
Filosofia Simple  n’  robust ! Se preocupe com sua aplicação! Não precisamos mais do antigo profissional DBA Relacional x  não-relacional
[object Object],[object Object],[object Object],[object Object],[object Object],Tipos de  banco de dados  não  relacionais
[object Object],[object Object],[object Object],[object Object],[object Object],Tipos de  banco de dados  não  relacionais
Chave /  Valor Como o próprio nome diz, é um modelo de banco de dados que associa um registro a uma chave.
Chave /  Valor Como o próprio nome diz, é um modelo de banco de dados que associa um registro a uma chave. This is a hash!
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
Redundância e replicação Estudo de caso Chave /  Valor
Amazon SimpleDB Chave /  Valor -  Serviços na cloud
Azure table Storage Redis Riak Genie Chave /  Valor -  Exemplos
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
{ Type: contact First:Paulo LastName:Souza Email: work:  [email_address]     home: paulosouza@home.com } Baseados em  Documento
CouchBD  MongoDB Baseados em  Documento
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.”
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.
Baseados em  Grafo
Baseados em  Grafo Maior complexidade Menor redundância e replicação desnecessária
Complexidade  x  Armazemento
Mitos  sobre o noSQL É realmente escalonável? Não precisamos mais de profissionais com o perfil de DBA? Baixo custo
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.
Arquitetura da ferramenta
Bancos que foram analisados Sherpa
Desempenho  – carga A
Desempenho  – carga B
noSQL  na prática
Vantagens  x   desvantagens Procurar a solução ideal para o problema sempre!
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
Conclusão
Questões
Obrigado Renato Molina Toth www.renatomolina.in

Mais conteúdo relacionado

Semelhante a NOSQL - Uma real alternativa

Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Leonardo Roberto Marinho Farias
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.Jann Claude Mousquer
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQLEric Silva
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkGuilherme Carlos
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big DataDeep Tech Brasil
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Amazon Web Services LATAM
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - IntroduçãoMarco Pinheiro
 
Solisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlSolisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlLeonardo Medeiros Martins
 
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RADExtreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RADCesar Romero
 
DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloRenato Groff
 
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Renato Groffe
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
 

Semelhante a NOSQL - Uma real alternativa (20)

Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
No sql o_que_e_isso.key
No sql o_que_e_isso.keyNo sql o_que_e_isso.key
No sql o_que_e_isso.key
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Persitência Poliglota TDC Recife 2019
Persitência Poliglota TDC Recife 2019Persitência Poliglota TDC Recife 2019
Persitência Poliglota TDC Recife 2019
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
 
Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
Solisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para PostgresqlSolisc2009 Migrando de Oracle para Postgresql
Solisc2009 Migrando de Oracle para Postgresql
 
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RADExtreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
 
DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São Paulo
 
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
 

NOSQL - Uma real alternativa

  • 1. no : sql Not only SQL RENATO MOLINA TOTH Renato Molina Toth www.renatomolina.in
  • 2. O que é ?
  • 3.
  • 4. É um conjunto de propriedades fundamentais que garantem consistência de dados. ACID ?
  • 5. Atomicidade - Capacidade de uma transação ter todas as suas operações executada ou nenhuma delas. Resumindo “ou vai, ou racha“ A CID – no bom popular
  • 6. 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 “ A C ID – no bom popular
  • 7. 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 “ A C I D – no bom popular
  • 8. 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 " A CI D – no bom popular
  • 9. Quebrar as correntes e a ditadura da base de dados relacional , junto com as propriedades ACID ! Proposta!
  • 10. Cenário real O que realmente é necessário para um sistema funcionar?
  • 11. Cenário real O que realmente é necessário para um sistema funcionar?
  • 12. O que um sistema precisa para funcionar ? Teorema de Brewer’s Cenário real
  • 13. ACID x BASE
  • 14. BASE Basically Available Soft state Eventual consistency
  • 15. Usa conceito de BASE Alta perfomance Alta escalabilidade Configurações de particionamento fáceis Abordagem não -relacional
  • 16. Relacional x não-relacional Aplicação crescendo, parabéns! Mas e agora?
  • 17. Scale Up Scale out
  • 19. Problemas – Scale Up Hardware possuem limitações!
  • 21. Problems – Scale out Configuração é complexa!
  • 22. Filosofia Simple n’ robust ! Se preocupe com sua aplicação! Não precisamos mais do antigo profissional DBA Relacional x não-relacional
  • 23.
  • 24.
  • 25. Chave / Valor Como o próprio nome diz, é um modelo de banco de dados que associa um registro a uma chave.
  • 26. Chave / Valor Como o próprio nome diz, é um modelo de banco de dados que associa um registro a uma chave. This is a hash!
  • 27. 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
  • 28. Redundância e replicação Estudo de caso Chave / Valor
  • 29. Amazon SimpleDB Chave / Valor - Serviços na cloud
  • 30. Azure table Storage Redis Riak Genie Chave / Valor - Exemplos
  • 31. 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
  • 32. { Type: contact First:Paulo LastName:Souza Email: work: [email_address] home: paulosouza@home.com } Baseados em Documento
  • 33. CouchBD MongoDB Baseados em Documento
  • 34. 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.”
  • 35. 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.
  • 36. Baseados em Grafo
  • 37. Baseados em Grafo Maior complexidade Menor redundância e replicação desnecessária
  • 38. Complexidade x Armazemento
  • 39. Mitos sobre o noSQL É realmente escalonável? Não precisamos mais de profissionais com o perfil de DBA? Baixo custo
  • 40. 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.
  • 42. Bancos que foram analisados Sherpa
  • 43. Desempenho – carga A
  • 44. Desempenho – carga B
  • 45. noSQL na prática
  • 46. Vantagens x desvantagens Procurar a solução ideal para o problema sempre!
  • 47. 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
  • 50. Obrigado Renato Molina Toth www.renatomolina.in