Banco de Dados orientado a documento
THIAGO AVELINO•   Trabalha com Software Livre desde 2005•   Desenvolvedor Python desde 2006•   Committer de alguns projeto...
PORQUE ESSE NOME?Veio da palavra humongous (Gigantesco)
O QUE É MONGODB?•   Open Source•   Alta Performance•   Schema (Esquema) Aberto•   Orientado a Documento•   Suporte Geo nat...
O QUE É MONGODB?“O MongoDB trabalha com key-value (que são rápidos e altamente escalável) e sistemaRDBMS (Relational datab...
QUEM ESTA USANDO MONGODB
SCHEMA ABERTO•   Pós    •   Tipagem dinâmica    •   Migrações    •   Flexibilidade    •   Cache
DOCUMENTOO Documento do MongoDB é basicamente um json.exemplo:  {      ‘nome’: ‘Thiago’,      ‘sobrenome’: ‘Avelino’,     ...
MIGRAÇÃOVocê pode atualizar seus dados dinamicamente  {      ‘nome’: ‘Thiago’,      ‘sobrenome’: ‘Avelino’,      ‘linguage...
AGREGADORDistintos  db.gonow.insert({‘linguagem’: ‘python’})  db.gonow.insert({‘linguagem’: ‘c’})  db.gonow.insert({‘lingu...
SQL PARA MONGO                                                   A criação de documento no MongoDB é dinamica, bastaCREATE...
OPERADORES <                        $lt <=                       $lte >                        $gt >=                     ...
MONGODB COM PYTHONExemplo  >>> from pymongo import Connection  >>> con = Connection(‘localhost’)  >>> db = con[‘gonow’]  >...
MONGODB COM RUBYExemplo  require rubygems  require mongo  db = Mongo::Connection.new("localhost").db("gonow")  gonow = {‘n...
BIT.LY/DOCMONGO             ouMONGODB.ORG/DISPLAY/DOCS/HOME
OBRIGADO!!! PERGUNTAS?             Thiago Avelino     thiago.avelino@gonow.com.br          Twitter: @avelino0        Blog:...
Próximos SlideShares
Carregando em…5
×

MongoDB, Banco de Dados orientado a documento

2.898 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.898
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

    ×