MongoDBEscalabilidade e Performance paradesenvolvimento WebRafael Nunes
Rafael Nunes Sócio da YaW Tecnologia Software Engineer at Catchafire.org(Join Us!!) Instrutor da Globalcode
Catchafire Professional Volunteer Tons of Nonprofits and Projects A cause that you support, or any professional helpyou...
Modelo Relacional Foi o primeiro modelo de dados descritoteoriamente(Edgar Frank, 1970) O modelo todo se baseia em entid...
Modelo RelacionalDesvantagens: O modelo de dados precisa sempre estar descrito Cada elemento da entidade, tem um tipoesp...
NoSQL Alternativas ao modelos relacional:Documento, Grapho, Chave/Valor, Wide Column MongoDB, Neo4J, Redis, Cassandra C...
MongoDB Banco de dados orientado a documentos Baseado em objetos BSON/JSON Um ‘Documento’ representa um objeto(Java,Pyt...
MongoDB High Performance em escritas e leituras Alta disponibilidade através de servidoresreplicados Escalabilidade ‘bu...
Cases Foursquare Craiglist SAP PaaS Code Academy Bit.ly
Mais sobre MongoDB Uma instância do Mongo é composta de‘databases’ e ‘collections’. Armazena objetos JSON/BSON Schema d...
Operações noMongoDB db.my_collection.find/findOne find({‘attr’:’value’,‘other_obj’:{‘other_attr’: ‘other_value’}}) db.m...
Escalabilidade Replicação Leitura e Escrita em instâncias diferentes Sharding Backup Incremental
Replicação Modelo baseado em réplica sets Como funciona: Um cluster(3-12) de instâncias Replicação automática para gar...
Mais sobre replicação Inicializar com ‘—replSet name’ rs.initiate() rs.add – para adicionar membros
Monitoramento Serviço de monitoramento Coleta dados das réplicas/instâncias e disponibilizaum console de acesso
Sharding Sharding automático Réplica das collections basead na Shard key Leitura transparente utilizando Shard Keys
Obrigadowww.yaw.com.brwww.catchafire.orgrafael@yaw.com.brtwitter.com/rafanunes
Próximos SlideShares
Carregando em…5
×

MongoDB - Performance e Escalabilidade para aplicações web

1.058 visualizações

Publicada em

Apresentação no TDC 2013 sobre MongoDB e seu uso em aplicações web

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.058
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
18
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

MongoDB - Performance e Escalabilidade para aplicações web

  1. 1. MongoDBEscalabilidade e Performance paradesenvolvimento WebRafael Nunes
  2. 2. Rafael Nunes Sócio da YaW Tecnologia Software Engineer at Catchafire.org(Join Us!!) Instrutor da Globalcode
  3. 3. Catchafire Professional Volunteer Tons of Nonprofits and Projects A cause that you support, or any professional helpyou can give Can be done completely online(most of them are)
  4. 4. Modelo Relacional Foi o primeiro modelo de dados descritoteoriamente(Edgar Frank, 1970) O modelo todo se baseia em entidades e relações Tuplas com características pré-definidas Linguagem padrão Como costumávamos iniciar uma aplicação
  5. 5. Modelo RelacionalDesvantagens: O modelo de dados precisa sempre estar descrito Cada elemento da entidade, tem um tipoespecífico(INT, VARCHAR) Silver Bullet
  6. 6. NoSQL Alternativas ao modelos relacional:Documento, Grapho, Chave/Valor, Wide Column MongoDB, Neo4J, Redis, Cassandra Conhecer como se comporta a sua aplicação, paraescolher o que mais se adapta a ela
  7. 7. MongoDB Banco de dados orientado a documentos Baseado em objetos BSON/JSON Um ‘Documento’ representa um objeto(Java,Python, C#) Documentos agregados ou arrays reduzem anecessidade de ‘join’ Schema dinâmico
  8. 8. MongoDB High Performance em escritas e leituras Alta disponibilidade através de servidoresreplicados Escalabilidade ‘built-in’: Sharding automático em coleções distribuidas Instâncias de escrita e leitura das réplicas
  9. 9. Cases Foursquare Craiglist SAP PaaS Code Academy Bit.ly
  10. 10. Mais sobre MongoDB Uma instância do Mongo é composta de‘databases’ e ‘collections’. Armazena objetos JSON/BSON Schema dinâmico para cada elemento da collection Cliente de acesso em quase todas plataformasmodernas: Java/Python/.NET/Ruby/Go/Scala/etc
  11. 11. Operações noMongoDB db.my_collection.find/findOne find({‘attr’:’value’,‘other_obj’:{‘other_attr’: ‘other_value’}}) db.my_collection.insert(json_object) Update/save/findAndModify/remove
  12. 12. Escalabilidade Replicação Leitura e Escrita em instâncias diferentes Sharding Backup Incremental
  13. 13. Replicação Modelo baseado em réplica sets Como funciona: Um cluster(3-12) de instâncias Replicação automática para garantir o ‘failover’ Instâncias designadas como primária/secundária Configuração das intâncias para definir prioridades
  14. 14. Mais sobre replicação Inicializar com ‘—replSet name’ rs.initiate() rs.add – para adicionar membros
  15. 15. Monitoramento Serviço de monitoramento Coleta dados das réplicas/instâncias e disponibilizaum console de acesso
  16. 16. Sharding Sharding automático Réplica das collections basead na Shard key Leitura transparente utilizando Shard Keys
  17. 17. Obrigadowww.yaw.com.brwww.catchafire.orgrafael@yaw.com.brtwitter.com/rafanunes

×