SlideShare uma empresa Scribd logo
Banco de Dados orientado a documento
THIAGO AVELINO

•   Trabalha com Software Livre desde 2005

•   Desenvolvedor Python desde 2006

•   Committer de alguns projetos OpenSource

    •   CentOS (Kernel)

    •   MongoDB

    •   Algumas biblioteca Python (MongoEngine)
PORQUE ESSE NOME?
Veio da palavra humongous (Gigantesco)
O QUE É MONGODB?


•   Open Source

•   Alta Performance

•   Schema (Esquema) Aberto

•   Orientado a Documento

•   Suporte Geo nativo

•   Banco de Dados
O QUE É MONGODB?
“O MongoDB trabalha com key-value (que são rápidos e altamente escalável) e sistema
RDBMS (Relational database management system) tradicional (que oferecem consultas rica e profunda
funcionalidade)”
QUEM ESTA USANDO MONGODB
SCHEMA ABERTO



•   Pós

    •   Tipagem dinâmica

    •   Migrações

    •   Flexibilidade

    •   Cache
DOCUMENTO
O Documento do MongoDB é basicamente um json.

exemplo:

  {
      ‘nome’: ‘Thiago’,
      ‘sobrenome’: ‘Avelino’,
      ‘linguagem’: ‘Python’,
      ‘database’: ‘mongodb’
  }
MIGRAÇÃO

Você 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’
  }
AGREGADOR

Distintos


  db.gonow.insert({‘linguagem’: ‘python’})
  db.gonow.insert({‘linguagem’: ‘c’})
  db.gonow.insert({‘linguagem’: ‘c++’})

  db.gonow.distinct(‘linguagem’)
SQL PARA MONGO
                                                   A criação de documento no MongoDB é dinamica, basta
CREATE 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)
OPERADORES

 <                        $lt

 <=                       $lte

 >                        $gt

 >=                       $gte




http://www.mongodb.org/display/DOCS/Advanced+Queries
MONGODB COM PYTHON

Exemplo


  >>> 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++’]}
MONGODB COM RUBY

Exemplo


  require 'rubygems'
  require 'mongo'

  db = Mongo::Connection.new("localhost").db("gonow")
  gonow = {‘nome’: ‘Thiago’,‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’]}
  db.insert(gonow)
BIT.LY/DOCMONGO
             ou

MONGODB.ORG/DISPLAY/DOCS/HOME
OBRIGADO!!! PERGUNTAS?

             Thiago Avelino
     thiago.avelino@gonow.com.br

          Twitter: @avelino0
        Blog: http://blog.avelino.us

Mais conteúdo relacionado

KEY
Desenvolvendo com mongodb
PPT
Desenvolvendo soluções com banco de dados não relacional - MongoDB
PDF
PyMongo = Python + MongoDB
KEY
Python MongoDB no MongoSP
PPT
Palestra MongoDB
PPT
Introdução ao MongoDB
PDF
Python no Power BI pelo SQL Server?
PPTX
MongoDB - Workshop Buscapé
Desenvolvendo com mongodb
Desenvolvendo soluções com banco de dados não relacional - MongoDB
PyMongo = Python + MongoDB
Python MongoDB no MongoSP
Palestra MongoDB
Introdução ao MongoDB
Python no Power BI pelo SQL Server?
MongoDB - Workshop Buscapé

Mais procurados (18)

PDF
MongoDB - Wagner Bonfiglio - Navegg
PDF
Mini-Curso de MongoDB
ODP
Prog web 07-pdo
PPTX
Desenvolvimento de aplicações PHP com MongoDB
PDF
Curso mongo db com php
PPT
Javascript
PDF
Geolocalização em PHP - Google Places, Maps e Routes
PPTX
Introdução ao MongoDB II
DOCX
Enviar email do access
PDF
Mongo DB
ODP
MongoDB - Tudo o que você precisa saber
PDF
Migrate linux user password to postfix vmail database
PDF
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
PDF
Agenda em bash e dialog
PDF
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
PDF
JasperReports
PPTX
Conexões eficientes em banco de dados com PHP
MongoDB - Wagner Bonfiglio - Navegg
Mini-Curso de MongoDB
Prog web 07-pdo
Desenvolvimento de aplicações PHP com MongoDB
Curso mongo db com php
Javascript
Geolocalização em PHP - Google Places, Maps e Routes
Introdução ao MongoDB II
Enviar email do access
Mongo DB
MongoDB - Tudo o que você precisa saber
Migrate linux user password to postfix vmail database
PHP e PostgreSQL: Um é pouco, dois é bom, três é demais
Agenda em bash e dialog
Hands-on Workshop: Como configurar e utilizar uma estrutura MongoDB para Big ...
JasperReports
Conexões eficientes em banco de dados com PHP
Anúncio

Destaque (20)

PPTX
El agua
PPT
Ist 400 Final Project Presentation[1]
PPTX
Pessebre 2012
PDF
Lipovisor UK
PDF
PPT
Jaro 2009
DOC
Curriculum Vitae
PDF
PLAN ANTICORRUPCIÓN
PDF
PPTX
Examen final.
PPT
Diaporama Cilaos
PPTX
Introdução à BDD (Behavior-driven Development)
PPTX
Atividade de discussão: world café
PPTX
Técnico superior en arteterapia, Unesco
 
PPTX
What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?
PDF
Banco de dados I - Aula 01 - Guardando Tudo no Armário
PDF
Livropythonmysql 091022073751-phpapp01
ODP
Entendendo Framework Web com Python
PDF
9i fundamentos adm_banco_de_dados_ii
PDF
Boa apostila sql
El agua
Ist 400 Final Project Presentation[1]
Pessebre 2012
Lipovisor UK
Jaro 2009
Curriculum Vitae
PLAN ANTICORRUPCIÓN
Examen final.
Diaporama Cilaos
Introdução à BDD (Behavior-driven Development)
Atividade de discussão: world café
Técnico superior en arteterapia, Unesco
 
What is blog ? Why blogging is so important nowadays? Who need a blog ? Why?
Banco de dados I - Aula 01 - Guardando Tudo no Armário
Livropythonmysql 091022073751-phpapp01
Entendendo Framework Web com Python
9i fundamentos adm_banco_de_dados_ii
Boa apostila sql
Anúncio

Semelhante a MongoDB, Banco de Dados orientado a documento (20)

KEY
Python e MongoDB - Ensol
KEY
Django e MongoDB - Python Brasil 7
KEY
MongoDB na Campus Party
ODP
MongoDB - Tudo o que você precisa saber - FISL16
ODP
MongoDB - Tudo que você precisa saber - FGSL 2014
PDF
Mongo db slides
KEY
MongoDB - Apresentação
KEY
NoSQL e MongoDB
PDF
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
KEY
NoSQL e MongoDB - ETEC
PPT
Mongo Db - PHP Day Workshop
PDF
Introdução ao no sql e mongodb
PPTX
MongoDB + PHP
PPTX
Mongo db
PPTX
#1 Introdução ao MongoDB
PDF
mongodb.pdf
PDF
Mongodb workshop cinlug
PPTX
MongoDB: Uma forma diferente de pensar no desenvolvimento
PPTX
Workshop MongoDB
PDF
Introdução ao NoSql
Python e MongoDB - Ensol
Django e MongoDB - Python Brasil 7
MongoDB na Campus Party
MongoDB - Tudo o que você precisa saber - FISL16
MongoDB - Tudo que você precisa saber - FGSL 2014
Mongo db slides
MongoDB - Apresentação
NoSQL e MongoDB
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
NoSQL e MongoDB - ETEC
Mongo Db - PHP Day Workshop
Introdução ao no sql e mongodb
MongoDB + PHP
Mongo db
#1 Introdução ao MongoDB
mongodb.pdf
Mongodb workshop cinlug
MongoDB: Uma forma diferente de pensar no desenvolvimento
Workshop MongoDB
Introdução ao NoSql

Mais de Thiago Avelino (14)

PDF
Bottle, o full stack sem Django
PPT
MongoDB native to web development - London Framework
PPT
O que é CMS? Foco no conteúdo e não no lero lero
PPT
Modelando aplicação em documento - MongoDB
PPT
NoSQL for Search - Riak
PPT
NoSQL, o que realmente é?
KEY
MongoGrid Hosting de MongoDB Open Source
PPT
Node.js em produção, javascript no server side
PPT
Beaga.JS
KEY
Test é para os fracos
PDF
sampa.js end
PDF
sampa.js start
KEY
Integrando python ao mongodb
KEY
Oficina de Django
Bottle, o full stack sem Django
MongoDB native to web development - London Framework
O que é CMS? Foco no conteúdo e não no lero lero
Modelando aplicação em documento - MongoDB
NoSQL for Search - Riak
NoSQL, o que realmente é?
MongoGrid Hosting de MongoDB Open Source
Node.js em produção, javascript no server side
Beaga.JS
Test é para os fracos
sampa.js end
sampa.js start
Integrando python ao mongodb
Oficina de Django

Último (11)

PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Utilizando code blockes por andre backes
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Eng. Software - pontos essenciais para o início
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Manejo integrado de pragas na cultura do algodão
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Viasol Energia Solar -Soluções para geração e economia de energia
Utilizando code blockes por andre backes
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Mecânico de Manutenção de Equipamentos.pptx
Arquitetura de computadores - Memórias Secundárias
Eng. Software - pontos essenciais para o início
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Manejo integrado de pragas na cultura do algodão
Termos utilizados na designação de relação entre pessoa e uma obra.pdf

MongoDB, Banco de Dados orientado a documento

  • 1. Banco de Dados orientado a documento
  • 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. PORQUE ESSE NOME? Veio da palavra humongous (Gigantesco)
  • 4. O QUE É MONGODB? • Open Source • Alta Performance • Schema (Esquema) Aberto • Orientado a Documento • Suporte Geo nativo • Banco de Dados
  • 5. O QUE É MONGODB? “O MongoDB trabalha com key-value (que são rápidos e altamente escalável) e sistema RDBMS (Relational database management system) tradicional (que oferecem consultas rica e profunda funcionalidade)”
  • 7. SCHEMA ABERTO • Pós • Tipagem dinâmica • Migrações • Flexibilidade • Cache
  • 8. DOCUMENTO O Documento do MongoDB é basicamente um json. exemplo: { ‘nome’: ‘Thiago’, ‘sobrenome’: ‘Avelino’, ‘linguagem’: ‘Python’, ‘database’: ‘mongodb’ }
  • 9. MIGRAÇÃO Você 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. AGREGADOR Distintos db.gonow.insert({‘linguagem’: ‘python’}) db.gonow.insert({‘linguagem’: ‘c’}) db.gonow.insert({‘linguagem’: ‘c++’}) db.gonow.distinct(‘linguagem’)
  • 11. SQL PARA MONGO A criação de documento no MongoDB é dinamica, basta CREATE 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. OPERADORES < $lt <= $lte > $gt >= $gte http://www.mongodb.org/display/DOCS/Advanced+Queries
  • 13. MONGODB COM PYTHON Exemplo >>> 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. MONGODB COM RUBY Exemplo require 'rubygems' require 'mongo' db = Mongo::Connection.new("localhost").db("gonow") gonow = {‘nome’: ‘Thiago’,‘sobrenome’: ‘Avelino’, ‘linguagem’: [‘Python’,’c’,’c++’]} db.insert(gonow)
  • 15. BIT.LY/DOCMONGO ou MONGODB.ORG/DISPLAY/DOCS/HOME
  • 16. OBRIGADO!!! PERGUNTAS? Thiago Avelino thiago.avelino@gonow.com.br Twitter: @avelino0 Blog: http://blog.avelino.us

Notas do Editor