como eu usei mongodb no meu projeto de graduação
DESCRIPTION
Palestra sobre MongoDBTRANSCRIPT
-
QUEBRANDOPARADIGMAS
Como eu usei
no meu projeto de graduao
-
QUEBRANPARADIGMAS
DO
-
PARADIGMA
padro ou modelo,suposies, conceitos,
valores e prticas;
-
como um paradigma formado
-
sobre...esta palestra
-
paradigmas sobre...esta palestra
-
faculdadeparadigmas
sobre...esta palestra
-
macacosfaculdade
paradigmas
sobre...esta palestra
-
dragon ball zmacacos
faculdadeparadigmas
sobre...esta palestra
-
dragon ball zmacacos
faculdadeparadigmas
sobre...esta palestra
-
mongoDBdragon ball z
macacosfaculdade
paradigmas
sobre...esta palestra
-
um softwaremongoDB
dragon ball zmacacos
faculdadeparadigmas
sobre...esta palestra
-
desafios
mongoDBdragon ball z
macacosfaculdade
paradigmas
um software
sobre...esta palestra
-
mim
mongoDBdragon ball z
macacosfaculdade
paradigmas
um softwaredesafios
sobre...esta palestra
-
UMA PALESTRA EGOSTAvoc est certo...
-
@shamanime
JeffersonQueiroz
Venerando
-
@shamanime
JeffersonQueiroz
Venerando
-
FACULDADEtudo comea com a
-
H UMA VERDADESOBRE FACULDADES
-
como eu penso que
-
como eu penso que como minha me pensa...
-
how I think it will be...como minha me pensa...como realmente ...
-
enquanto voctenta se formar
-
Voc encontravrios paradigmas.
-
VOC APRENDE BASICAMENTE...uma forma de programar.uma forma de modelar seu banco.uma forma de documentar.
-
No h tempo suficientepara ensinar tudo.
-
E o mais importante seu projeto de graduao.Se estiver fazendo TI.
-
Ento voc voltapara o que aprendeu.
-
Ento voc vol
ta
para o que ap
rendeu.}
Consegue identificaralguns paradigmas
criados at chegar aqui?
-
VAMOS POR A MO NA MASSA.
-
EU TAMBM TIVE QUE GRADUAR.VAMOS POR A MO NA MASSA.
-
Eu trabalhava em uma agncia de publicidade
-
no havia um bom software
Eu trabalhava em uma agncia de publicidade
-
muito trabalho para compensar isso
no havia um bom software
Eu trabalhava em uma agncia de publicidade
-
por que no resolver o problema?
muito trabalho para compensar isso
no havia um bom software
Eu trabalhava em uma agncia de publicidade
-
um software para controlaragncias de publicidade
+Ruby on Rails e umbanco relacional
-
+VAMOS L!um software para controlaragncias de publicidade
Ruby on Rails e umbanco relacional
-
Eu no programava em Rails.Um timo desafio. E paradigma.
-
Eu aprendi.E no foi to ruim assim.
-
PROBLEMAo grande
-
MODELAGEMDE DADOS
-
PORQUE FOI DIFCIL #1
requisitos NO so totalmentedefinidos no incio...
eles mudam com o desenvolvimento.
-
PORQUE FOI DIFCIL #2
mudanas precisamde migraes...
difcil manter o controle,voltar e refazer ruim.
-
PORQUE FOI DIFCIL #3
requisitos ainda soinstveis...
desenvolvimentoprecisa ser rpido.
-
PORQUE FOI DIFCIL #4
regras de negcioso complicadas...
muitas tabelase joins.
-
ESQUEMADEFINIDO
objetos podem sernicos.
PORQUE FOI DIFCIL #5
-
REVISO
Requisitos instveis
Difcil modelar as regras de negcio
Desenvolvimento lento
PORQUE FOI DIFCIL
-
VAMOSOLHAR O OUTRO
LADO DAMOEDA
-
MySQLFirebird
PostgreSQLSQLite
OracleDB2
CouchDBBigData
Vertica
CassandraMemcacheDB
-
PORQUE O
ARREPIA
-
PORQUE ELE ARREPIA
Modelo de dados de Documentos
-
sem esquemas
PORQUE ELE ARREPIA
Modelo de dados de Documentos
-
n-dimensional
PORQUE ELE ARREPIA
Modelo de dados de Documentos
-
Sem joins
PORQUE ELE ARREPIA
Modelo de dados de Documentos
-
Possui uma estrutura...
PORQUE ELE ARREPIA
Modelo de dados de Documentos
-
JSON
-
SEXTA 13
JSON
-
Consultas Ad hoc
PORQUE ELE ARREPIA
-
Consultas dinmicasConsultas Ad hoc
PORQUE ELE ARREPIA
-
ndices secundrios
PORQUE ELE ARREPIA
-
At 64 ndices por coleondices secundrios
PORQUE ELE ARREPIA
-
Replicao
PORQUE ELE ARREPIA
-
Usado para redundnciaReplicao
PORQUE ELE ARREPIA
-
Failover automticoReplicao
PORQUE ELE ARREPIA
-
Velocidade e durabilidade
PORQUE ELE ARREPIA
-
Journaling ou replicaoVelocidade e durabilidade
PORQUE ELE ARREPIA
-
Escalabilidade
PORQUE ELE ARREPIA
-
Escalar horizontalmente muito fcil
Escalabilidade
PORQUE ELE ARREPIA
-
DocumentosConsultas Ad hocndices secundriosReplicaoVelocidade e durabilidadeEscalabilidade
PORQUE ELE ARREPIAREVISO
-
como issoME AJUDOU
-
SEM ESQUEMAS
represente os dados como realmente so;
sem migraes = mais tempo desenvolvendo;
uma consulta retorna tudo;
-
"Com grande poder vm grandes responsabilidades"
- Tio Ben
-
NO DEIXE SEUS DOCUMENTOSVIRAREM UMA BAGUNA
-
MODELO RELACIONAL
DOCUMENTOS
sem redundncia,formas normais
sem joins,redundncia ok
-
DOCUMENTOS
So auto-contidosContm todas informaes
-
Performance++Uma consulta retorna tudo
DOCUMENTOS
-
DOCUMENTOS
Pode ser linkado ou incorporado
-
DOCUMENTOS LINKADOS
Mais usado para relaesmany-to-many;
Funciona bem quando a duplicao de dados um problema;
-
DOCUMENTOS INCORPORADOS
Ei, Dawg, ouvi que voc gosta de documentos ento coloquei um documento no seu documento pra que voc tenha vrios documentos dentro do documento.
-
DOCUMENTOS INCORPORADOS
Ei, Dawg, ouvi que voc gosta de documentos ento coloquei um documento no seu documento pra que voc tenha vrios documentos dentro do documento.
PUTZ!MEMES TRADUZIDOSSO HORRVEIS
-
MO NA MASSA #1// representao de um job{ "_id" : ObjectId( "4fa969cef8955b304e000056" ), "campanha" : "Promoo de frias sup. Thiago", "cliente_id" : ObjectId( "4f271132f8955b177a000019" ), "data_entrada" : Date( 1337040000000 ), "data_entrega" : Date( 1337040000000 ), "func_nome" : "Jefferson Queiroz", "func_usuario" : "jefferson", "funcionario_id" : ObjectId( "4f271132f8955b177a000004" ), "numero" : 4, "status" : "produo", "titulo" : "Frias legais", "updated_at" : Date( 1336502734000 ), "verba" : "4500.0" }
-
MO NA MASSA #1// representao de um job{ "_id" : ObjectId( "4fa969cef8955b304e000056" ), "campanha" : "Promoo de frias sup. Thiago", "cliente_id" : ObjectId( "4f271132f8955b177a000019" ), "data_entrada" : Date( 1337040000000 ), "data_entrega" : Date( 1337040000000 ), "func_nome" : "Jefferson Queiroz", "func_usuario" : "jefferson", "funcionario_id" : ObjectId( "4f271132f8955b177a000004" ), "numero" : 4, "status" : "produo", "titulo" : "Frias legais", "updated_at" : Date( 1336502734000 ), "verba" : "4500.0" }
-
MO NA MASSA #2
// inserir cliente e telefones> db.clientes.insert({ nome: 'Jefferson Queiroz Venerando', cidade: 'Iturama', telefones: [ numero: '34 5687-1432', op: 'TIM'}, numero: '34 3442-4321', op: 'Vivo'} ]})
-
{ "_id" : ObjectId( "4f2c0bec740e950417000038" ), "created_at" : Date( 1328286700000 ), "desconto_cliente" : 0, "formato" : "40x50", "func_nome" : "Jefferson", "func_usuario" : "jefferson", "funcionario_id" : ObjectId( "4f271132f8955b177a000001" ), "job_id" : ObjectId( "4f2acb2d740e950417000017" ), "servico_id" : ObjectId( "4f271133f8955b177a00002e" ), "status" : "criao", "titulo" : "Outdoor", "updated_at" : Date( 1334175800000 ), "valor_fornecedores" : [ { "_id" : ObjectId( "4f457739f8955b5420000001" ), "fornecedor_id" : ObjectId( "4f271132f8955b177a00001a" ), "valor" : "321.0" }, { "_id" : ObjectId( "4f457739f8955b5420000002" ), "fornecedor_id" : ObjectId( "4f271132f8955b177a00001b" ), "valor" : "123.0" } ], "vlr_com_desconto" : "50.0", "vlr_fornecedores" : "444.0", "vlr_servico" : "50.0", "vlr_total" : "494.0" }
-
{ "_id" : ObjectId( "4f2c0bec740e950417000038" ), "created_at" : Date( 1328286700000 ), "desconto_cliente" : 0, "formato" : "40x50", "func_nome" : "Jefferson", "func_usuario" : "jefferson", "funcionario_id" : ObjectId( "4f271132f8955b177a000001" ), "job_id" : ObjectId( "4f2acb2d740e950417000017" ), "servico_id" : ObjectId( "4f271133f8955b177a00002e" ), "status" : "criao", "titulo" : "Outdoor", "updated_at" : Date( 1334175800000 ), "valor_fornecedores" : [ { "_id" : ObjectId( "4f457739f8955b5420000001" ), "fornecedor_id" : ObjectId( "4f271132f8955b177a00001a" ), "valor" : "321.0" }, { "_id" : ObjectId( "4f457739f8955b5420000002" ), "fornecedor_id" : ObjectId( "4f271132f8955b177a00001b" ), "valor" : "123.0" } ], "vlr_com_desconto" : "50.0", "vlr_fornecedores" : "444.0", "vlr_servico" : "50.0", "vlr_total" : "494.0" }
-
DOCUMENTOSTrabalhe com os dados da forma que eles so
REVISO
Desenvolvimento rpidoConsistncia sua responsabilidade
-
MAP REDUCEDAHORA A VIDA!
AINDA
-
nem tudo so
FLORES
-
TENHA EM MENTE
Arquivos mapeados na memria
-
Melhor rodar em 64-bit
TENHA EM MENTE
Arquivos mapeados na memria
-
Memria para os dados alocada automaticamente
TENHA EM MENTE
Arquivos mapeados na memria
-
Replicao importante
TENHA EM MENTE
Arquivos mapeados na memria
-
Limite de tamanho do documento16 MB no MongoDB v2.0
TENHA EM MENTE
-
#1 desencorajar documentos com profundos nveis de aninhamento
TENHA EM MENTE
Limite de tamanho do documento
-
#2 performance
TENHA EM MENTE
Limite de tamanho do documento
-
Sem transaes
TENHA EM MENTE
-
Trabalhe com 1 documento por vez
TENHA EM MENTE
Sem transaes
-
Sem BEGIN, COMMIT ou ROLLBACK
TENHA EM MENTE
Sem transaes
-
Compreenda as limitaes tambm...
Ainda h mais...
TENHA EM MENTE
-
Sem ACIDTenha memria suficienteSem transaes, srio
TENHA EM MENTEREVISO
-
no fim
O QUE FOI FEITO
-
nossa ideia...
FOI CONSTRUDA DO ZEROUSANDO MONGODB
-
FUNCIONA MUITO BEM
MongoDB foi uma tima escolha
-
At para pequenos projetosMongoDB foi uma tima escolha
FUNCIONA MUITO BEM
-
Sem dores de cabea at agora
FUNCIONA MUITO BEM
MongoDB foi uma tima escolha
-
EU ME FOR
MEI
-
E QUEBRE
I
O PARADI
GMA
DA FACULD
ADE
-
nossa
VIROU UM PRODUTO
-
QUE J FUNCIONA
EM PRODUO
-
A vida comeaonde terminasua zona de conforto!
REVISO
-
PERGUNTAS?
-
Obrigado!JEFFERSON Q. VENERANDO
@shamanime
E obrigado Stephanie Pellegrino pelas ilustraes
http://shamani.me