SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Go Fast ! 
Go MongoDB ! 
Go OpenShift ! 
Fernando Boaglio 
fernando @ boaglio.com 
boaglio
Quem é Fernando Boaglio? 
Já foi estudante... 
Linux user desde 1996 
Já deu aulas... 
Developer+commiter! 
E começou a escrever... 
● NoSQL & Data
Antes de começar... 
Acesse a aplicação na nuvem: 
http://tinyurl.com/judcon2014 
e vote o filme preferido ! 
NoSQL & Data - http://tinyurl.com/judcon2014
O que é o MongoDB ? 
Banco de dados baseado em documentos 
• Livre (open source) 
• Primeira versão estável em 2009 
• classificado como NoSQL 
• Escalável 
• Sem schemas 
• Sem transações 
• Sem constraints 
NoSQL & Data - http://tinyurl.com/judcon2014
De onde veio o MongoDB ? 
1995 - Fundada DoubleClick 
2005 - DoubleClick vendida por 
US$1.1 bi 
2007 - Fundada 10gen 
2008 - Google compra DoubleClick 
por US$3.1 bi 
NoSQL & Data - http://tinyurl.com/judcon2014
De onde veio o MongoDB ? 
2007 – Inicia a pesquisa por uma solução semelhante ao 
GAE: 
● App engine chamada ED (de Eliot e Dwight) 
● Banco de dados chamado P (de Platform) 
NoSQL & Data - http://tinyurl.com/judcon2014
De onde veio o MongoDB ? 
2008 – mudaram o nome para MongoDB 
NoSQL & Data - http://tinyurl.com/judcon2014
De onde veio o MongoDB ? 
2009 – MongoDB vira opensource! 
2010 – MongoDB vira “production ready” 
NoSQL & Data - http://tinyurl.com/judcon2014 - ainda não votou ?
MongoDB – quem usa ? 
NoSQL & Data
MongoDB no mercado 
http://db-engines.com/en/ranking 
NoSQL & Data - http://tinyurl.com/judcon2014
MongoDB no mercado 
NoSQL & Data - http://tinyurl.com/judcon2014
MongoDB no mercado 
Empresas que economizaram 70% ou + mudando de Oracle para MongoDB: 
http://www.mongodb.com/lp/whitepaper/tco-comparison-oracle-mongodb 
NoSQL & Data - http://tinyurl.com/judcon2014
O que é um documento ? 
Representação da informação em 
formato JSON ( 
JavaScript Object Notation 
ou 
Notação de Objetos JavaScript 
) 
Linguagem usada é JavaScript 
NoSQL & Data -http://tinyurl.com/judcon2014
Comparando alguns conceitos 
Bancos relacionais 
baseados em tabelas 
NoSQL & Data - http://tinyurl.com/judcon2014 
Bancos NoSQL baseados 
em documentos 
Tabela Collection 
Coluna Campo 
Linha / registro sem limite de 
tamanho 
Documento / registro limitados 
em 16Mb 
RAC Replica Set 
Particionamento Sharding 
Raw Device GridFS
Exemplo de um sistema básico... 
Diversas informações em uma única página: 
http://pt.wikipedia.org/wiki/Anexo:Lista_de_ganhadores_do_Pr%C3%AAmio_IgNobel 
NoSQL & Data - http://tinyurl.com/judcon2014 - vote de novo!
Organizando os dados ... 
Aprendemos a modelar os sistemas mapeando as diferentes 
informações: 
- principais em tabelas: tipo, premio, ano, autor 
- e mais a tabela associativa premio_autor 
Total: 5 tabelas 
NoSQL & Data - http://tinyurl.com/judcon2014
Exibindo as informações... 
Consulta para exibir a tela inicial: 
Para exibir um prêmio com 6 autores: 
tipo = 1 registro 
premio = 1 registro 
ano = 1 registro 
autor = 6 registros 
premio_autor = 6 registros 
TOTAL = 15 registros 
NoSQL & Data - http://tinyurl.com/judcon2014
Mapeando documentos... 
Consulta para exibir a tela inicial: 
Para exibir um prêmio com 
6 autores: 
premio = 1 registro 
TOTAL = 1 registro 
NoSQL & Data - http://tinyurl.com/judcon2014
Por que temos tantas tabelas ? 
✔ Primeiro mapeamos as informações 
✔ Depois encaixamos nas limitações de bancos relacionais 
✔ E finalmente mapeamos as telas para acessar os dados 
Resumindo: a aplicação é feita em função do banco ! 
NoSQL & Data - http://tinyurl.com/judcon2014
Os tempos mudaram! 
✔ A maioria das aplicações não precisa ser transacional 
✔ Aplicações podem ter milhares de acessos por segundo que nenhum 
banco de dados relacional aguenta! 
✔ Inversão de valores: quem é mais importante, uma base de dados 
modelada corretamente ou uma aplicação rápida ? 
Resumindo: a aplicação é mais importante que o banco ! 
NoSQL & Data - http://tinyurl.com/judcon2014 - deixa de preguiça e faz um voto!
O que é OpenShift ? 
Serviço de núvem da Red Hat (público e privado) 
- Criado em 2011 
- Hoje roda 2 milhões de aplicações 
- Engine OpenShift Origin open source: 
https://install.openshift.com/ 
- Roda aplicações em Java, PHP, Perl,Python,etc. 
- MySQL , PostgreSQL , MongoDB 
- Jenkins e outras opções 
NoSQL & Data - http://tinyurl.com/judcon2014
O nosso sistema de filmes... 
NoSQL & Data - http://tinyurl.com/judcon2014
Gerenciando o MongoDB... 
NoSQL & Data - http://tinyurl.com/judcon2014
Total de votos... 
NoSQL & Data - http://tinyurl.com/judcon2014
Testando na nuvem... 
http://blazemeter.com 
NoSQL & Data - http://tinyurl.com/judcon2014
Cadastrando o teste... 
NoSQL & Data - http://tinyurl.com/judcon2014
E conferindo os resultados... 
• Testes com lista de URLs 
ou JMeter 
• Visualize os resultados no 
seu celular (e dispare novos 
testes se quiser) 
NoSQL & Data
Se você quiser testar... 
NoSQL & Data 
https://github.com/boaglio/judcon2014-openshift-mongodb
E pra terminar...em breve... 
http://www.casadocodigo.com.br 
NoSQL & Data
Eu podia tá roubando, tá matando... 
Mas estou usando e !!! 
Na sua próxima aplicação, lembre-se da gente! 
Obrigado ! 
NoSQL & Data
MongoDB e OpenShift - JUDCon2014

Mais conteúdo relacionado

Mais procurados

Criando um baseline de seu ambiente completo utilizando SSIS e SSRS
Criando um baseline de seu ambiente completo utilizando SSIS e SSRSCriando um baseline de seu ambiente completo utilizando SSIS e SSRS
Criando um baseline de seu ambiente completo utilizando SSIS e SSRS
Marcos Freccia
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
Agrupamento de Escolas da Batalha
 

Mais procurados (20)

Nao perca tempo com bancos de dados relacionais, use mongo db
Nao perca tempo com bancos de dados relacionais,   use mongo dbNao perca tempo com bancos de dados relacionais,   use mongo db
Nao perca tempo com bancos de dados relacionais, use mongo db
 
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...
Bancos de dados no Azure: conhecendo as opções relacionais e NoSQL disponívei...
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Redis
RedisRedis
Redis
 
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full Javascript
 
TDC - Da presença online ao Cloud Computing
TDC - Da presença online ao Cloud ComputingTDC - Da presença online ao Cloud Computing
TDC - Da presença online ao Cloud Computing
 
FireDAC: do básico ao avançado - Embarcadero Conference 2014
FireDAC: do básico ao avançado - Embarcadero Conference 2014FireDAC: do básico ao avançado - Embarcadero Conference 2014
FireDAC: do básico ao avançado - Embarcadero Conference 2014
 
SQL Saturday SP - SQL Server 2019 Big Data Clusters
SQL Saturday SP - SQL Server 2019 Big Data ClustersSQL Saturday SP - SQL Server 2019 Big Data Clusters
SQL Saturday SP - SQL Server 2019 Big Data Clusters
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
 
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
 
SQL Maniacs - SQL Server 2019 Big Data Clusters
SQL Maniacs - SQL Server 2019 Big Data ClustersSQL Maniacs - SQL Server 2019 Big Data Clusters
SQL Maniacs - SQL Server 2019 Big Data Clusters
 
Hospedagem Web Linux em Ambiente Virtualizado Hyper-V
Hospedagem Web Linux em Ambiente Virtualizado Hyper-VHospedagem Web Linux em Ambiente Virtualizado Hyper-V
Hospedagem Web Linux em Ambiente Virtualizado Hyper-V
 
Monitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BIMonitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BI
 
Criando um baseline de seu ambiente completo utilizando SSIS e SSRS
Criando um baseline de seu ambiente completo utilizando SSIS e SSRSCriando um baseline de seu ambiente completo utilizando SSIS e SSRS
Criando um baseline de seu ambiente completo utilizando SSIS e SSRS
 
Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
 
Intro desenvolvimento-web
Intro desenvolvimento-webIntro desenvolvimento-web
Intro desenvolvimento-web
 
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
 
Streaming architecture with big data clusters
Streaming architecture with big data clustersStreaming architecture with big data clusters
Streaming architecture with big data clusters
 

Destaque (7)

Tupiniquizando o desktop com KDE
Tupiniquizando o desktop com KDETupiniquizando o desktop com KDE
Tupiniquizando o desktop com KDE
 
Aumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootAumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring Boot
 
ZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivas
 
Mais um comparativo MongoDB - Fernando Boaglio - abril.2014
Mais um comparativo MongoDB - Fernando Boaglio - abril.2014Mais um comparativo MongoDB - Fernando Boaglio - abril.2014
Mais um comparativo MongoDB - Fernando Boaglio - abril.2014
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento
 
Solution manager sap
Solution manager sapSolution manager sap
Solution manager sap
 
MongoDB @ Globo.com
MongoDB @ Globo.comMongoDB @ Globo.com
MongoDB @ Globo.com
 

Semelhante a MongoDB e OpenShift - JUDCon2014

Semelhante a MongoDB e OpenShift - JUDCon2014 (20)

MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJava
 
#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 
NoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANNoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEAN
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
TDC2016POA | Trilha BigData - Orquestrando Hadoop, Cassandra e MongoDB com o ...
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014
 
Workshop Node JS - Nível Básico
Workshop Node JS - Nível BásicoWorkshop Node JS - Nível Básico
Workshop Node JS - Nível Básico
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
Big Data
Big DataBig Data
Big Data
 
NoSQL e Python
NoSQL e PythonNoSQL e Python
NoSQL e Python
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
Tirando água da rocha: escalabilidade via software no ExpressoV3
Tirando água da rocha: escalabilidade via software no ExpressoV3Tirando água da rocha: escalabilidade via software no ExpressoV3
Tirando água da rocha: escalabilidade via software no ExpressoV3
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
NoSQL: Uma análise crítica
NoSQL: Uma análise críticaNoSQL: Uma análise crítica
NoSQL: Uma análise crítica
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2
 
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
 
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
 

Mais de Fernando Boaglio

Mais de Fernando Boaglio (20)

Rinha de Back-end 2023
Rinha de Back-end 2023Rinha de Back-end 2023
Rinha de Back-end 2023
 
Java Meetup SP
Java Meetup SP Java Meetup SP
Java Meetup SP
 
Testando jwebserver
Testando jwebserver Testando jwebserver
Testando jwebserver
 
Novidades Spring 2021
Novidades Spring 2021Novidades Spring 2021
Novidades Spring 2021
 
O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway
 
Retrospectiva Java 2019
Retrospectiva Java 2019Retrospectiva Java 2019
Retrospectiva Java 2019
 
Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019
 
3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor
 
Jenkins, de onde veio e para onde vai
Jenkins, de onde veio e para onde vai Jenkins, de onde veio e para onde vai
Jenkins, de onde veio e para onde vai
 
Java Meetup SP intro
Java Meetup SP  introJava Meetup SP  intro
Java Meetup SP intro
 
6 mitos de projetos open source para Java
6 mitos de projetos open source para Java6 mitos de projetos open source para Java
6 mitos de projetos open source para Java
 
Java Meetup SP intro
Java Meetup SP introJava Meetup SP intro
Java Meetup SP intro
 
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC20185 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
 
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
 
Katalon,o Selenium fácil
Katalon,o Selenium fácil Katalon,o Selenium fácil
Katalon,o Selenium fácil
 
SAP Hybris e SAP HANA - o que dá para usar?
 SAP Hybris e SAP HANA - o que dá para usar?  SAP Hybris e SAP HANA - o que dá para usar?
SAP Hybris e SAP HANA - o que dá para usar?
 
Jenkins por dentro e por fora
Jenkins por dentro e por fora Jenkins por dentro e por fora
Jenkins por dentro e por fora
 
Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do Java
 
Aprendi.android.e.agora conexao.java.2012
Aprendi.android.e.agora conexao.java.2012Aprendi.android.e.agora conexao.java.2012
Aprendi.android.e.agora conexao.java.2012
 

Último

Último (8)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

MongoDB e OpenShift - JUDCon2014

  • 1. Go Fast ! Go MongoDB ! Go OpenShift ! Fernando Boaglio fernando @ boaglio.com boaglio
  • 2. Quem é Fernando Boaglio? Já foi estudante... Linux user desde 1996 Já deu aulas... Developer+commiter! E começou a escrever... ● NoSQL & Data
  • 3. Antes de começar... Acesse a aplicação na nuvem: http://tinyurl.com/judcon2014 e vote o filme preferido ! NoSQL & Data - http://tinyurl.com/judcon2014
  • 4. O que é o MongoDB ? Banco de dados baseado em documentos • Livre (open source) • Primeira versão estável em 2009 • classificado como NoSQL • Escalável • Sem schemas • Sem transações • Sem constraints NoSQL & Data - http://tinyurl.com/judcon2014
  • 5. De onde veio o MongoDB ? 1995 - Fundada DoubleClick 2005 - DoubleClick vendida por US$1.1 bi 2007 - Fundada 10gen 2008 - Google compra DoubleClick por US$3.1 bi NoSQL & Data - http://tinyurl.com/judcon2014
  • 6. De onde veio o MongoDB ? 2007 – Inicia a pesquisa por uma solução semelhante ao GAE: ● App engine chamada ED (de Eliot e Dwight) ● Banco de dados chamado P (de Platform) NoSQL & Data - http://tinyurl.com/judcon2014
  • 7. De onde veio o MongoDB ? 2008 – mudaram o nome para MongoDB NoSQL & Data - http://tinyurl.com/judcon2014
  • 8. De onde veio o MongoDB ? 2009 – MongoDB vira opensource! 2010 – MongoDB vira “production ready” NoSQL & Data - http://tinyurl.com/judcon2014 - ainda não votou ?
  • 9. MongoDB – quem usa ? NoSQL & Data
  • 10. MongoDB no mercado http://db-engines.com/en/ranking NoSQL & Data - http://tinyurl.com/judcon2014
  • 11. MongoDB no mercado NoSQL & Data - http://tinyurl.com/judcon2014
  • 12. MongoDB no mercado Empresas que economizaram 70% ou + mudando de Oracle para MongoDB: http://www.mongodb.com/lp/whitepaper/tco-comparison-oracle-mongodb NoSQL & Data - http://tinyurl.com/judcon2014
  • 13. O que é um documento ? Representação da informação em formato JSON ( JavaScript Object Notation ou Notação de Objetos JavaScript ) Linguagem usada é JavaScript NoSQL & Data -http://tinyurl.com/judcon2014
  • 14. Comparando alguns conceitos Bancos relacionais baseados em tabelas NoSQL & Data - http://tinyurl.com/judcon2014 Bancos NoSQL baseados em documentos Tabela Collection Coluna Campo Linha / registro sem limite de tamanho Documento / registro limitados em 16Mb RAC Replica Set Particionamento Sharding Raw Device GridFS
  • 15. Exemplo de um sistema básico... Diversas informações em uma única página: http://pt.wikipedia.org/wiki/Anexo:Lista_de_ganhadores_do_Pr%C3%AAmio_IgNobel NoSQL & Data - http://tinyurl.com/judcon2014 - vote de novo!
  • 16. Organizando os dados ... Aprendemos a modelar os sistemas mapeando as diferentes informações: - principais em tabelas: tipo, premio, ano, autor - e mais a tabela associativa premio_autor Total: 5 tabelas NoSQL & Data - http://tinyurl.com/judcon2014
  • 17. Exibindo as informações... Consulta para exibir a tela inicial: Para exibir um prêmio com 6 autores: tipo = 1 registro premio = 1 registro ano = 1 registro autor = 6 registros premio_autor = 6 registros TOTAL = 15 registros NoSQL & Data - http://tinyurl.com/judcon2014
  • 18. Mapeando documentos... Consulta para exibir a tela inicial: Para exibir um prêmio com 6 autores: premio = 1 registro TOTAL = 1 registro NoSQL & Data - http://tinyurl.com/judcon2014
  • 19. Por que temos tantas tabelas ? ✔ Primeiro mapeamos as informações ✔ Depois encaixamos nas limitações de bancos relacionais ✔ E finalmente mapeamos as telas para acessar os dados Resumindo: a aplicação é feita em função do banco ! NoSQL & Data - http://tinyurl.com/judcon2014
  • 20. Os tempos mudaram! ✔ A maioria das aplicações não precisa ser transacional ✔ Aplicações podem ter milhares de acessos por segundo que nenhum banco de dados relacional aguenta! ✔ Inversão de valores: quem é mais importante, uma base de dados modelada corretamente ou uma aplicação rápida ? Resumindo: a aplicação é mais importante que o banco ! NoSQL & Data - http://tinyurl.com/judcon2014 - deixa de preguiça e faz um voto!
  • 21. O que é OpenShift ? Serviço de núvem da Red Hat (público e privado) - Criado em 2011 - Hoje roda 2 milhões de aplicações - Engine OpenShift Origin open source: https://install.openshift.com/ - Roda aplicações em Java, PHP, Perl,Python,etc. - MySQL , PostgreSQL , MongoDB - Jenkins e outras opções NoSQL & Data - http://tinyurl.com/judcon2014
  • 22. O nosso sistema de filmes... NoSQL & Data - http://tinyurl.com/judcon2014
  • 23. Gerenciando o MongoDB... NoSQL & Data - http://tinyurl.com/judcon2014
  • 24. Total de votos... NoSQL & Data - http://tinyurl.com/judcon2014
  • 25. Testando na nuvem... http://blazemeter.com NoSQL & Data - http://tinyurl.com/judcon2014
  • 26. Cadastrando o teste... NoSQL & Data - http://tinyurl.com/judcon2014
  • 27. E conferindo os resultados... • Testes com lista de URLs ou JMeter • Visualize os resultados no seu celular (e dispare novos testes se quiser) NoSQL & Data
  • 28. Se você quiser testar... NoSQL & Data https://github.com/boaglio/judcon2014-openshift-mongodb
  • 29. E pra terminar...em breve... http://www.casadocodigo.com.br NoSQL & Data
  • 30. Eu podia tá roubando, tá matando... Mas estou usando e !!! Na sua próxima aplicação, lembre-se da gente! Obrigado ! NoSQL & Data