SlideShare uma empresa Scribd logo
1 de 14
Introdução ao
NOSQL
Instrutor: José Fernandes Almeida Junior
Agenda
•   O que é um Banco de Dados
•   O que é NOSQL
•   Surgimento do NOSQL
•   Tipos de NOSQL
•   O que é o MongoDB
•   Introdução ao MongoDB
•   Usando MongoDB com JAVA
O que é um Banco de Dados?
O que é um Banco de Dados
È um conjunto de dados inter-relacionados
O que é NOSQL
• São banco de dados não relacionais onde NOSQL significa
  “Not Only SQL”
Surgimento do NOSQL
• Motivo
• Teorema CAP (Consistência, Disponibilidade e Tolerância a
  Partição)
Tipos de NOSQL
•   Orientado a documento
•   Chave-valor
•   Orientado a grafo
•   Orientado a colunas
O que é o MongoDB
MongoDB é uma solução escalavel de alto desempenho escrito
em c++, de código aberto de banco de dados NOSQL.
Características do MongoDB
•   Orientado a documentos
•   Suporte a índice completo
•   Replicação e alta disponibilidade
•   Sharding
Principais operadores
MongoDB
• $lt – menor que
• $gt – maior que
• $lte – menor ou igual a
• $gte – maior ou igual a
• $ne – diferente de
• $in – está em (recebe uma lista)
• $nin – não está em
• $mod – resto igual a (recebe uma lista onde o primeiro valor é
  o divisor e o segundo o resto)
• $exists – contém ou não o atributo
• $not – negação de uma condição
Principais Consultas do
MongoDB
SQL                                   MongoDB
CREATE TABLE USERS (a Number, b       db.createCollection("mycoll")
Number)
INSERT INTO USERS VALUES(3,5)         db.users.insert({a:3,b:5})
SELECT a,b FROM users                 db.users.find({}, {a:1,b:1})
SELECT a,b FROM users WHERE age=33 db.users.find({age:33}, {a:1,b:1})
SELECT * FROM users WHERE age=33      db.users.find({age:33}).sort({name:1})
ORDER BY name
SELECT * FROM users WHERE age>33      db.users.find({age:{$gt:33}})
SELECT * FROM users WHERE age!=33     db.users.find({age:{$ne:33}})
SELECT * FROM users WHERE name        db.users.find({name:/Joe/})
LIKE "%Joe%"
SELECT * FROM users WHERE a=1 and     db.users.find({a:1,b:'q'})
b='q'
Continuação das Consultas
SQL                                  MongoDB
SELECT * FROM users WHERE a=1 or     db.users.find( { $or : [ { a : 1 } , { b : 2 } ]
b=2                                  })
SELECT DISTINCT last_name FROM       db.users.distinct('last_name')
users
SELECT COUNT(*y) FROM users          db.users.count()
UPDATE users SET a=1 WHERE b='q'     db.users.update({b:'q'}, {$set:{a:1}},
                                     false, true)
UPDATE users SET a=a+2 WHERE b='q'   db.users.update({b:'q'}, {$inc:{a:2}},
                                     false, true)
DELETE FROM users WHERE z="abc"      db.users.remove({z:'abc'});
Introdução ao nosql (mini curso)

Mais conteúdo relacionado

Semelhante a Introdução ao nosql (mini curso)

MongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documentoMongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documentoJulio Monteiro
 
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...ISCTE-IUL ACM Student Chapter
 
Desenvolvendo soluções com banco de dados não relacional - MongoDB
Desenvolvendo soluções com banco de dados não relacional - MongoDBDesenvolvendo soluções com banco de dados não relacional - MongoDB
Desenvolvendo soluções com banco de dados não relacional - MongoDBiMasters
 
Introdução ao MongoDB em 30 slides
Introdução ao MongoDB em 30 slidesIntrodução ao MongoDB em 30 slides
Introdução ao MongoDB em 30 slidesDerek Willian Stavis
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBRodrigo Hjort
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com phpSuissa
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Christiano Anderson
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDBRodrigo Hjort
 
Mini-Curso de MongoDB
Mini-Curso de MongoDBMini-Curso de MongoDB
Mini-Curso de MongoDBBrunno Gomes
 
MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014Christiano Anderson
 
Conceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosConceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosAlefe Variani
 
LaravelSP - MySQL 5.7: introdução ao JSON Data Type
LaravelSP - MySQL 5.7: introdução ao JSON Data TypeLaravelSP - MySQL 5.7: introdução ao JSON Data Type
LaravelSP - MySQL 5.7: introdução ao JSON Data TypeGabriela Ferrara
 

Semelhante a Introdução ao nosql (mini curso) (20)

MongoDB - Iniciando e Conhecendo
MongoDB - Iniciando e ConhecendoMongoDB - Iniciando e Conhecendo
MongoDB - Iniciando e Conhecendo
 
MongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documentoMongoDB: um banco de dados orientado a documento
MongoDB: um banco de dados orientado a documento
 
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
acm, chapter, development, events, iscte, portugal, opensource, softwareApres...
 
Python e MongoDB - Ensol
Python e MongoDB - EnsolPython e MongoDB - Ensol
Python e MongoDB - Ensol
 
Desenvolvendo soluções com banco de dados não relacional - MongoDB
Desenvolvendo soluções com banco de dados não relacional - MongoDBDesenvolvendo soluções com banco de dados não relacional - MongoDB
Desenvolvendo soluções com banco de dados não relacional - MongoDB
 
Introdução ao MongoDB em 30 slides
Introdução ao MongoDB em 30 slidesIntrodução ao MongoDB em 30 slides
Introdução ao MongoDB em 30 slides
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDB
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com php
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7
 
NoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETECNoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETEC
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
Workshop MongoDB
Workshop MongoDBWorkshop MongoDB
Workshop MongoDB
 
NoSQL e MongoDB
NoSQL e MongoDBNoSQL e MongoDB
NoSQL e MongoDB
 
Mini-Curso de MongoDB
Mini-Curso de MongoDBMini-Curso de MongoDB
Mini-Curso de MongoDB
 
Mongodb workshop cinlug
Mongodb workshop cinlugMongodb workshop cinlug
Mongodb workshop cinlug
 
MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014MongoDB Schema Design - Latinoware 2014
MongoDB Schema Design - Latinoware 2014
 
Conceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de DadosConceitos Basicos em Banco de Dados
Conceitos Basicos em Banco de Dados
 
Minicurso mongo db
Minicurso mongo dbMinicurso mongo db
Minicurso mongo db
 
LaravelSP - MySQL 5.7: introdução ao JSON Data Type
LaravelSP - MySQL 5.7: introdução ao JSON Data TypeLaravelSP - MySQL 5.7: introdução ao JSON Data Type
LaravelSP - MySQL 5.7: introdução ao JSON Data Type
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 

Introdução ao nosql (mini curso)

  • 1. Introdução ao NOSQL Instrutor: José Fernandes Almeida Junior
  • 2. Agenda • O que é um Banco de Dados • O que é NOSQL • Surgimento do NOSQL • Tipos de NOSQL • O que é o MongoDB • Introdução ao MongoDB • Usando MongoDB com JAVA
  • 3. O que é um Banco de Dados?
  • 4. O que é um Banco de Dados È um conjunto de dados inter-relacionados
  • 5. O que é NOSQL • São banco de dados não relacionais onde NOSQL significa “Not Only SQL”
  • 6. Surgimento do NOSQL • Motivo • Teorema CAP (Consistência, Disponibilidade e Tolerância a Partição)
  • 7.
  • 8. Tipos de NOSQL • Orientado a documento • Chave-valor • Orientado a grafo • Orientado a colunas
  • 9. O que é o MongoDB MongoDB é uma solução escalavel de alto desempenho escrito em c++, de código aberto de banco de dados NOSQL.
  • 10. Características do MongoDB • Orientado a documentos • Suporte a índice completo • Replicação e alta disponibilidade • Sharding
  • 11. Principais operadores MongoDB • $lt – menor que • $gt – maior que • $lte – menor ou igual a • $gte – maior ou igual a • $ne – diferente de • $in – está em (recebe uma lista) • $nin – não está em • $mod – resto igual a (recebe uma lista onde o primeiro valor é o divisor e o segundo o resto) • $exists – contém ou não o atributo • $not – negação de uma condição
  • 12. Principais Consultas do MongoDB SQL MongoDB CREATE TABLE USERS (a Number, b db.createCollection("mycoll") Number) INSERT INTO USERS VALUES(3,5) db.users.insert({a:3,b:5}) SELECT a,b FROM users db.users.find({}, {a:1,b:1}) SELECT a,b FROM users WHERE age=33 db.users.find({age:33}, {a:1,b:1}) SELECT * FROM users WHERE age=33 db.users.find({age:33}).sort({name:1}) ORDER BY name SELECT * FROM users WHERE age>33 db.users.find({age:{$gt:33}}) SELECT * FROM users WHERE age!=33 db.users.find({age:{$ne:33}}) SELECT * FROM users WHERE name db.users.find({name:/Joe/}) LIKE "%Joe%" SELECT * FROM users WHERE a=1 and db.users.find({a:1,b:'q'}) b='q'
  • 13. Continuação das Consultas SQL MongoDB SELECT * FROM users WHERE a=1 or db.users.find( { $or : [ { a : 1 } , { b : 2 } ] b=2 }) SELECT DISTINCT last_name FROM db.users.distinct('last_name') users SELECT COUNT(*y) FROM users db.users.count() UPDATE users SET a=1 WHERE b='q' db.users.update({b:'q'}, {$set:{a:1}}, false, true) UPDATE users SET a=a+2 WHERE b='q' db.users.update({b:'q'}, {$inc:{a:2}}, false, true) DELETE FROM users WHERE z="abc" db.users.remove({z:'abc'});