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

MongoDB e OpenShift - JUDCon2014

  • 1.
    Go Fast ! Go MongoDB ! Go OpenShift ! Fernando Boaglio fernando @ boaglio.com boaglio
  • 2.
    Quem é FernandoBoaglio? 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 veioo 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 veioo 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 veioo MongoDB ? 2008 – mudaram o nome para MongoDB NoSQL & Data - http://tinyurl.com/judcon2014
  • 8.
    De onde veioo MongoDB ? 2009 – MongoDB vira opensource! 2010 – MongoDB vira “production ready” NoSQL & Data - http://tinyurl.com/judcon2014 - ainda não votou ?
  • 9.
    MongoDB – quemusa ? 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 umsistema 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... Consultapara 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 temostantas 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 sistemade 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 osresultados... • Testes com lista de URLs ou JMeter • Visualize os resultados no seu celular (e dispare novos testes se quiser) NoSQL & Data
  • 28.
    Se você quisertestar... NoSQL & Data https://github.com/boaglio/judcon2014-openshift-mongodb
  • 29.
    E pra terminar...embreve... 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