SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Fulvio Longhi @jornaljava Banco de Dados NoSQL  Escalabilidade de Dados sem Limites JornalJava.com Fev/2011
Informações Conceito Principais Características Exemplos Quem está Usando? Prós e Contras CAP Tipos de NoSQL DB Principais Produtos Casos Reais Inside NoSQL Referências Perguntas Agenda
A cada ano é criado quase 2x mais dados que o ano anterior (IDC 2007) Grandes sites viram que ACID não escala muito bem 99% dos casos de gargalo um sistema pelo IO (seja de rede ou de disco) Algumas Informações
E você acha que tem problemas com dados? Twitter ~ 1,2 milhões ops/sec (2010) Facebook ~ 500 milhões writes/day (2008) Google ~ 1 trilhão de páginas indexadas/day (2010)
NoSQL == “SQL” || “Not Only SQL” NoSQL == NoRDBMS também (geralmente) “	is a term used to designate database management systems that differ from classic relational database management systems in some way. These data stores may not require fixed table schemas, and usually avoid join operations and typically scale horizontally.  ” (Wikipedia) Conceito
baixa latência suporte a falhas escalabilidade horizontal e dinâmica alta disponibilidade schemas flexiveis suporte a distribuição geográfica BAIXO CUSTO busca de dados através de heurística meta-index geralmente abrindo mão de: transação, locks, consistência, integridade (tarefas do RDBMS) queries complexas Principais Características
Escalabilidade: característica de aumentar sua capacidade para o seu sistema (seja de processamento, armazenamento ou IO) Escalabilidade Horizontal: escalar adicionando máquinas em paralelo (ex.: Cluster)  desvantagens: sistemas e arquiteturas mais complexas Escalabilidade Vertical: escalar adicionando novos componentes na máquina (ex.: Aumentar memória)  desvantagens: caro, e com limites físicos atingíveis Mas o que é Escalabilidade Horizontal?
sistemas com quantidade de dados massivo arquitetura essencialmente distribuída  muitos servidores para suportar um sistema  prover resultado de queries impossíveis de serem feitas com joins online sistema com mudanças constantes no schema Exemplos de Utilização
Quem está Usando?
Prós alta disponibilidade escalabilidade horizontal baixo custo expansão dinâmico  schemas flexíveis dados distribuídos semi-estruturados Prós e Contras
Contras queries dinâmicas limitadas consistência fica por conta do programa  sem padrão sem controle de acesso  Prós e Contras
Eric Brewer - Berkeley/MIT, 2000 Diagrama CAP
Consistence - após a operação, o dado já está pronto pra consulta todos consultam os mesmos dados Availability - sempre disponível tolerante a falhas de máquinas individuais expansão sem downtime Partition Tolerance - os dados estão espalhados em várias máquinas (não apenas para leitura, mas para escrita também!) Teorema CAP
CA - RDBMS comuns (as vezes em pequenos Clusters) o único meio de escalar é verticalmente CP - Shard (Tabelas particionadas) se uma tabela estiver fora do ar, parte dos dados serão afetados programas mais complexos para manter a consistência AP - DNS, cache, NoSQL difícil manter consistência, resolver conflitos Combinações de CAP
Key/Value - no modelo de Distribuited Hash Table MemCached, Amazon S3, Google Storage, Azure DB, Yahoo Pnuts Column Store - pode-se buscar dados por key:column Apache Cassandra, Apache HBase, Amazon SimpleDB, Google DataStore Document Store - dados já sumarizados, geralmente com suporte a processamento batch mongodb, couchdb, TerraStore Graph DB - dados são agrupados conforme suas ligações Neo4j, InfoGrid, VertexDB,  Tipos de NoSQL DB
MemCached usado para cache dados Transientes	 sem suporte a queries Principais Produtos
Cassandra e Hbase busca por índices pré-compilados consistência e transação por registro batch distribuído índice particionado suporte a datacenters distribuídos geograficamente Principais Produtos
CouchDB e MongoDB batch distribuído queries dinâmicas distribuídas (porém limitadas) suporte ao protocolo REST Principais Produtos
Twitter timeline == consolidação dos tweets tweet imutável.  todos os dados do tweet são autocontidos (foto do perfil, @name, etc.) tweets da timeline são transientes  1 cópia do tweet é guardado no seu "perfil" e replicado async na timeline dos seus seguidores Descrições de Casos Reais
Facebook cada item do mural possui uma consolidação dos comentários desse item a cada atualização dos comentários de um item, ele é reescrito totalmente Descrições de Casos Reais
Google cópia de cada página web que é indexada emails do gmail anexos do gmail (truque da capacidade do gmail) Descrições de Casos Reais
Twitter, Google, Facebook deixaram de utilizar RDBMS? RDBMS morreu?
Twitter, Google, Facebook deixaram de utilizar RDBMS? NÃO! 	Para sistemas internos e coisas mais simples ainda usam muito RDBMS, por causa de: maturidade   manipulação de dados  expertise RDBMS morreu?
Key/Valeu (Distributed Hash Table)  Inside NoSQL D1 a b C1 c d D2 e f C2 g h ... ... Dn Cn M i j k
Key/Valeu (Distributed Hash Table)  Inside NoSQL D1 a b Qual a quantidade de servidores de dados? C1 c d D2 e f C2 g h ... ... Dn Cn M i j k
Key/Valeu (Distributed Hash Table)  Inside NoSQL D1 a b C1 c d D2 Temos 8 servidores de dados e f C2 g h ... ... Dn Cn M i j k
Key/Valeu (Distributed Hash Table)  Inside NoSQL D1 Bom, temos 8 servidores e o dado com chave “f” vai estar... (calcula) no  servidor D2 a b C1 c d D2 e f C2 g h ... ... Dn Cn M i j k
Key/Valeu (Distributed Hash Table)  Inside NoSQL D1 a b Quero o dado “f” C1 c d D2 e f C2 g h ... ... Dn Cn M i j k
Key/Valeu (Distributed Hash Table)  Inside NoSQL D1 a b c d D2 e f C1 g h D9 C2 ... Chegou servidor novo! ... Dn Cn M i j k
Key/Valeu (Distributed Hash Table)  Inside NoSQL D1 a b c d D2 e f C1 g h ReHash com 9 servidores agora! D9 C2 ... ... Dn Cn M i j k
Key/Valeu (Distributed Hash Table)  Inside NoSQL D1 a d z k D2 g h C1 w q D3 C2 u f g h ... ... Dn Cn M
NoSQL Live Boston Google IO NoSQLSummer NosqlDay 2011 no:sql(east) no:sql(br). 15/05/2010 São Paulo - SP http://nosqlbr.com/ Eventos
http://www.25hoursaday.com/weblog/ http://highscalability.com/ http://www.nosqlbr.com.br/ http://escalabilidade.com http://www.slideshare.net/marin_dimitrov/nosql-databases-3584443 http://www.sitepen.com/blog/2010/05/11/nosql-architecture/ Referências
Obrigado  @jornaljava

Weitere ähnliche Inhalte

Ähnlich wie Banco de Dados NoSQL: Escalabilidade de Dados sem Limites

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
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Banco de Dados (pré-apresentação)
Banco de Dados (pré-apresentação)Banco de Dados (pré-apresentação)
Banco de Dados (pré-apresentação)samlobo
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisCarlo Pires
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Taller Negócio Digitais
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaGlaucio Scheibel
 
Devops: Gestão e publicação de Dados no SQL Server
Devops: Gestão e publicação de Dados no SQL ServerDevops: Gestão e publicação de Dados no SQL Server
Devops: Gestão e publicação de Dados no SQL ServerIgor Rosa Macedo
 

Ähnlich wie Banco de Dados NoSQL: Escalabilidade de Dados sem Limites (20)

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
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Pesquisa sobre no sql
Pesquisa sobre no sqlPesquisa sobre no sql
Pesquisa sobre no sql
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Banco de Dados (pré-apresentação)
Banco de Dados (pré-apresentação)Banco de Dados (pré-apresentação)
Banco de Dados (pré-apresentação)
 
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)
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Devops: Gestão e publicação de Dados no SQL Server
Devops: Gestão e publicação de Dados no SQL ServerDevops: Gestão e publicação de Dados no SQL Server
Devops: Gestão e publicação de Dados no SQL Server
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 

Mehr von jornaljava

Por dentro da nuvem
Por dentro da nuvemPor dentro da nuvem
Por dentro da nuvemjornaljava
 
Jornal java por dentro da nuvem
Jornal java por dentro da nuvemJornal java por dentro da nuvem
Jornal java por dentro da nuvemjornaljava
 
Criando um simples portlet com jboss portal
Criando um simples portlet com jboss portalCriando um simples portlet com jboss portal
Criando um simples portlet com jboss portaljornaljava
 

Mehr von jornaljava (8)

Por dentro da nuvem
Por dentro da nuvemPor dentro da nuvem
Por dentro da nuvem
 
Jornal java por dentro da nuvem
Jornal java por dentro da nuvemJornal java por dentro da nuvem
Jornal java por dentro da nuvem
 
Criando um simples portlet com jboss portal
Criando um simples portlet com jboss portalCriando um simples portlet com jboss portal
Criando um simples portlet com jboss portal
 
Jpa
JpaJpa
Jpa
 
J boss seam
J boss seamJ boss seam
J boss seam
 
Facelets
FaceletsFacelets
Facelets
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Rich faces
Rich facesRich faces
Rich faces
 

Banco de Dados NoSQL: Escalabilidade de Dados sem Limites

  • 1. Fulvio Longhi @jornaljava Banco de Dados NoSQL Escalabilidade de Dados sem Limites JornalJava.com Fev/2011
  • 2. Informações Conceito Principais Características Exemplos Quem está Usando? Prós e Contras CAP Tipos de NoSQL DB Principais Produtos Casos Reais Inside NoSQL Referências Perguntas Agenda
  • 3. A cada ano é criado quase 2x mais dados que o ano anterior (IDC 2007) Grandes sites viram que ACID não escala muito bem 99% dos casos de gargalo um sistema pelo IO (seja de rede ou de disco) Algumas Informações
  • 4. E você acha que tem problemas com dados? Twitter ~ 1,2 milhões ops/sec (2010) Facebook ~ 500 milhões writes/day (2008) Google ~ 1 trilhão de páginas indexadas/day (2010)
  • 5. NoSQL == “SQL” || “Not Only SQL” NoSQL == NoRDBMS também (geralmente) “ is a term used to designate database management systems that differ from classic relational database management systems in some way. These data stores may not require fixed table schemas, and usually avoid join operations and typically scale horizontally. ” (Wikipedia) Conceito
  • 6. baixa latência suporte a falhas escalabilidade horizontal e dinâmica alta disponibilidade schemas flexiveis suporte a distribuição geográfica BAIXO CUSTO busca de dados através de heurística meta-index geralmente abrindo mão de: transação, locks, consistência, integridade (tarefas do RDBMS) queries complexas Principais Características
  • 7. Escalabilidade: característica de aumentar sua capacidade para o seu sistema (seja de processamento, armazenamento ou IO) Escalabilidade Horizontal: escalar adicionando máquinas em paralelo (ex.: Cluster) desvantagens: sistemas e arquiteturas mais complexas Escalabilidade Vertical: escalar adicionando novos componentes na máquina (ex.: Aumentar memória) desvantagens: caro, e com limites físicos atingíveis Mas o que é Escalabilidade Horizontal?
  • 8. sistemas com quantidade de dados massivo arquitetura essencialmente distribuída muitos servidores para suportar um sistema prover resultado de queries impossíveis de serem feitas com joins online sistema com mudanças constantes no schema Exemplos de Utilização
  • 10. Prós alta disponibilidade escalabilidade horizontal baixo custo expansão dinâmico schemas flexíveis dados distribuídos semi-estruturados Prós e Contras
  • 11. Contras queries dinâmicas limitadas consistência fica por conta do programa sem padrão sem controle de acesso Prós e Contras
  • 12. Eric Brewer - Berkeley/MIT, 2000 Diagrama CAP
  • 13. Consistence - após a operação, o dado já está pronto pra consulta todos consultam os mesmos dados Availability - sempre disponível tolerante a falhas de máquinas individuais expansão sem downtime Partition Tolerance - os dados estão espalhados em várias máquinas (não apenas para leitura, mas para escrita também!) Teorema CAP
  • 14. CA - RDBMS comuns (as vezes em pequenos Clusters) o único meio de escalar é verticalmente CP - Shard (Tabelas particionadas) se uma tabela estiver fora do ar, parte dos dados serão afetados programas mais complexos para manter a consistência AP - DNS, cache, NoSQL difícil manter consistência, resolver conflitos Combinações de CAP
  • 15. Key/Value - no modelo de Distribuited Hash Table MemCached, Amazon S3, Google Storage, Azure DB, Yahoo Pnuts Column Store - pode-se buscar dados por key:column Apache Cassandra, Apache HBase, Amazon SimpleDB, Google DataStore Document Store - dados já sumarizados, geralmente com suporte a processamento batch mongodb, couchdb, TerraStore Graph DB - dados são agrupados conforme suas ligações Neo4j, InfoGrid, VertexDB, Tipos de NoSQL DB
  • 16. MemCached usado para cache dados Transientes sem suporte a queries Principais Produtos
  • 17. Cassandra e Hbase busca por índices pré-compilados consistência e transação por registro batch distribuído índice particionado suporte a datacenters distribuídos geograficamente Principais Produtos
  • 18. CouchDB e MongoDB batch distribuído queries dinâmicas distribuídas (porém limitadas) suporte ao protocolo REST Principais Produtos
  • 19. Twitter timeline == consolidação dos tweets tweet imutável. todos os dados do tweet são autocontidos (foto do perfil, @name, etc.) tweets da timeline são transientes 1 cópia do tweet é guardado no seu "perfil" e replicado async na timeline dos seus seguidores Descrições de Casos Reais
  • 20. Facebook cada item do mural possui uma consolidação dos comentários desse item a cada atualização dos comentários de um item, ele é reescrito totalmente Descrições de Casos Reais
  • 21. Google cópia de cada página web que é indexada emails do gmail anexos do gmail (truque da capacidade do gmail) Descrições de Casos Reais
  • 22. Twitter, Google, Facebook deixaram de utilizar RDBMS? RDBMS morreu?
  • 23. Twitter, Google, Facebook deixaram de utilizar RDBMS? NÃO! Para sistemas internos e coisas mais simples ainda usam muito RDBMS, por causa de: maturidade manipulação de dados expertise RDBMS morreu?
  • 24. Key/Valeu (Distributed Hash Table) Inside NoSQL D1 a b C1 c d D2 e f C2 g h ... ... Dn Cn M i j k
  • 25. Key/Valeu (Distributed Hash Table) Inside NoSQL D1 a b Qual a quantidade de servidores de dados? C1 c d D2 e f C2 g h ... ... Dn Cn M i j k
  • 26. Key/Valeu (Distributed Hash Table) Inside NoSQL D1 a b C1 c d D2 Temos 8 servidores de dados e f C2 g h ... ... Dn Cn M i j k
  • 27. Key/Valeu (Distributed Hash Table) Inside NoSQL D1 Bom, temos 8 servidores e o dado com chave “f” vai estar... (calcula) no servidor D2 a b C1 c d D2 e f C2 g h ... ... Dn Cn M i j k
  • 28. Key/Valeu (Distributed Hash Table) Inside NoSQL D1 a b Quero o dado “f” C1 c d D2 e f C2 g h ... ... Dn Cn M i j k
  • 29. Key/Valeu (Distributed Hash Table) Inside NoSQL D1 a b c d D2 e f C1 g h D9 C2 ... Chegou servidor novo! ... Dn Cn M i j k
  • 30. Key/Valeu (Distributed Hash Table) Inside NoSQL D1 a b c d D2 e f C1 g h ReHash com 9 servidores agora! D9 C2 ... ... Dn Cn M i j k
  • 31. Key/Valeu (Distributed Hash Table) Inside NoSQL D1 a d z k D2 g h C1 w q D3 C2 u f g h ... ... Dn Cn M
  • 32. NoSQL Live Boston Google IO NoSQLSummer NosqlDay 2011 no:sql(east) no:sql(br). 15/05/2010 São Paulo - SP http://nosqlbr.com/ Eventos
  • 33. http://www.25hoursaday.com/weblog/ http://highscalability.com/ http://www.nosqlbr.com.br/ http://escalabilidade.com http://www.slideshare.net/marin_dimitrov/nosql-databases-3584443 http://www.sitepen.com/blog/2010/05/11/nosql-architecture/ Referências