Download - MongoDB e OpenShift - JUDCon2014

Transcript
Page 1: MongoDB e OpenShift - JUDCon2014

Go Fast ! Go MongoDB !Go OpenShift !

Fernando Boagliofernando @ boaglio.com boaglio

Page 2: MongoDB e OpenShift - JUDCon2014

Quem é Fernando Boaglio?Já foi estudante...

Linux user desde 1996

Já deu aulas...

Developer+commiter!

E começou a escrever...

●NoSQL & Data

Page 3: MongoDB e OpenShift - JUDCon2014

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

Page 4: MongoDB e OpenShift - 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

Page 5: MongoDB e OpenShift - 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

Page 6: MongoDB e OpenShift - 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

Page 7: MongoDB e OpenShift - JUDCon2014

De onde veio o MongoDB ?2008 – mudaram o nome para MongoDB

NoSQL & Data - http://tinyurl.com/judcon2014

Page 8: MongoDB e OpenShift - 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 ?

Page 9: MongoDB e OpenShift - JUDCon2014

MongoDB – quem usa ?

NoSQL & Data

Page 10: MongoDB e OpenShift - JUDCon2014

MongoDB no mercadohttp://db-engines.com/en/ranking

NoSQL & Data - http://tinyurl.com/judcon2014

Page 11: MongoDB e OpenShift - JUDCon2014

MongoDB no mercado

NoSQL & Data - http://tinyurl.com/judcon2014

Page 12: MongoDB e OpenShift - JUDCon2014

MongoDB no mercadoEmpresas 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

Page 13: MongoDB e OpenShift - 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

Page 14: MongoDB e OpenShift - JUDCon2014

Comparando alguns conceitos

NoSQL & Data - http://tinyurl.com/judcon2014

Bancos relacionais baseados em tabelas

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

Page 15: MongoDB e OpenShift - JUDCon2014

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!

Page 16: MongoDB e OpenShift - JUDCon2014

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

Page 17: MongoDB e OpenShift - 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

Page 18: MongoDB e OpenShift - 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

Page 19: MongoDB e OpenShift - 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

Page 20: MongoDB e OpenShift - 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!

Page 21: MongoDB e OpenShift - JUDCon2014

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

Page 22: MongoDB e OpenShift - JUDCon2014

O nosso sistema de filmes...

NoSQL & Data - http://tinyurl.com/judcon2014

Page 23: MongoDB e OpenShift - JUDCon2014

Gerenciando o MongoDB...

NoSQL & Data - http://tinyurl.com/judcon2014

Page 24: MongoDB e OpenShift - JUDCon2014

Total de votos...

NoSQL & Data - http://tinyurl.com/judcon2014

Page 25: MongoDB e OpenShift - JUDCon2014

Testando na nuvem...

NoSQL & Data - http://tinyurl.com/judcon2014

http://blazemeter.com

Page 26: MongoDB e OpenShift - JUDCon2014

Cadastrando o teste...

NoSQL & Data - http://tinyurl.com/judcon2014

Page 27: MongoDB e OpenShift - JUDCon2014

E conferindo os resultados...

NoSQL & Data

• Testes com lista de URLsou JMeter• Visualize os resultados no seu celular (e dispare novostestes se quiser)

Page 28: MongoDB e OpenShift - JUDCon2014

Se você quiser testar...

NoSQL & Data

https://github.com/boaglio/judcon2014-openshift-mongodb

Page 29: MongoDB e OpenShift - JUDCon2014

E pra terminar...em breve...

http

:/ /w

ww

.cas

ado

c od

i go

.com

.br

NoSQL & Data

Page 30: MongoDB e OpenShift - JUDCon2014

NoSQL & Data

Eu podia tá roubando, tá matando...

Mas estou usando e !!!

Na sua próxima aplicação, lembre-se da gente!

Obrigado !

Page 31: MongoDB e OpenShift - JUDCon2014