MongoDB, Banco de Dados orientado a documento

2.873 visualizações

Publicada em

Introdução a Banco de Dados orientado a documento

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.873
No SlideShare
0
A partir de incorporações
0
Número de incorporações
27
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • MongoDB, Banco de Dados orientado a documento

    1. 1. Banco de Dados orientado a documento
    2. 2. THIAGO AVELINO• Trabalha com Software Livre desde 2005• Desenvolvedor Python desde 2006• Committer de alguns projetos OpenSource • CentOS (Kernel) • MongoDB • Algumas biblioteca Python (MongoEngine)
    3. 3. PORQUE ESSE NOME?Veio da palavra humongous (Gigantesco)
    4. 4. O QUE É MONGODB?• Open Source• Alta Performance• Schema (Esquema) Aberto• Orientado a Documento• Suporte Geo nativo• Banco de Dados
    5. 5. O QUE É MONGODB?“O MongoDB trabalha com key-value (que são rápidos e altamente escalável) e sistemaRDBMS (Relational database management system) tradicional (que oferecem consultas rica e profundafuncionalidade)”
    6. 6. QUEM ESTA USANDO MONGODB
    7. 7. SCHEMA ABERTO• Pós • Tipagem dinâmica • Migrações • Flexibilidade • Cache
    8. 8. DOCUMENTOO Documento do MongoDB é basicamente um json.exemplo: { ‘nome’: ‘Thiago’, ‘sobrenome’: ‘Avelino’, ‘linguagem’: ‘Python’, ‘database’: ‘mongodb’ }
    9. 9. MIGRAÇÃOVocê pode atualizar seus dados dinamicamente { ‘nome’: ‘Thiago’, ‘sobrenome’: ‘Avelino’, ‘linguagem’: ‘Python’, ‘database’: ‘mongodb’ } { ‘nome’: ‘Thiago’, ‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’], ‘database’: ‘mongodb’, ‘empresa’: ‘gonow’ }
    10. 10. AGREGADORDistintos db.gonow.insert({‘linguagem’: ‘python’}) db.gonow.insert({‘linguagem’: ‘c’}) db.gonow.insert({‘linguagem’: ‘c++’}) db.gonow.distinct(‘linguagem’)
    11. 11. SQL PARA MONGO A criação de documento no MongoDB é dinamica, bastaCREATE TABLE gonow (a Number, b Number); fazer o primeiro insert()INSERT INTO gonow (1,1); db.gonow.insert({a: 1, b: 1})SELECT * FROM gonow; db.gonow.find({})SELECT * FROM gonow WHERE sobrenome = ‘Avelino’; db.gonow.find({‘sobrenome’: ‘Avelino’})SELECT * FROM gonow ORDER BY sobrenome; db.gonow.find({}).sort({sobrenome:1})SELECT * FROM gonow WHERE a < 1; db.gonow.find({a: {$gt:1}})SELECT * FROM gonow WHERE a > 1; db.gonow.find({a: {$lt:1}})SELECT * FROM gonow LIMIT 1; db.gonow.find({}).limit(1)
    12. 12. OPERADORES < $lt <= $lte > $gt >= $gtehttp://www.mongodb.org/display/DOCS/Advanced+Queries
    13. 13. MONGODB COM PYTHONExemplo >>> from pymongo import Connection >>> con = Connection(‘localhost’) >>> db = con[‘gonow’] >>> >>> gonow = {‘nome’: ‘Thiago’,‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’]} >>> db.gonow.insert(gonow) ObjectId(‘4d2e48e7cc9374271b02247a’) >>> db.gonow.find_one({}) {u‘_id’: ObjectId(‘4d2e48e7cc9374271b02247a’),u‘nome’: u‘Thiago’,u‘sobrenome’: u‘Avelino’, u‘linguagem’: [u‘Python’,u’c’,u’c++’]}
    14. 14. MONGODB COM RUBYExemplo require rubygems require mongo db = Mongo::Connection.new("localhost").db("gonow") gonow = {‘nome’: ‘Thiago’,‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’]} db.insert(gonow)
    15. 15. BIT.LY/DOCMONGO ouMONGODB.ORG/DISPLAY/DOCS/HOME
    16. 16. OBRIGADO!!! PERGUNTAS? Thiago Avelino thiago.avelino@gonow.com.br Twitter: @avelino0 Blog: http://blog.avelino.us

    ×