Como eu usei MongoDB no meu projeto de graduação

Embed Size (px)

DESCRIPTION

Palestra sobre MongoDB

Citation preview

  • 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