14
Introdução ao NOSQL Instrutor: José Fernandes Almeida Junior

Introdução ao nosql (mini curso)

Embed Size (px)

DESCRIPTION

Curso dad

Citation preview

Page 1: Introdução ao nosql (mini curso)

Introdução ao NOSQLInstrutor: José Fernandes Almeida Junior

Page 2: Introdução ao nosql (mini curso)

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

Page 3: Introdução ao nosql (mini curso)

O que é um Banco de Dados?

Page 4: Introdução ao nosql (mini curso)

O que é um Banco de Dados

È um conjunto de dados inter-relacionados

Page 5: Introdução ao nosql (mini curso)

O que é NOSQL• São banco de dados não relacionais onde NOSQL significa

“Not Only SQL”

Page 6: Introdução ao nosql (mini curso)

Surgimento do NOSQL• Motivo• Teorema CAP (Consistência, Disponibilidade e Tolerância a

Partição)

Page 7: Introdução ao nosql (mini curso)
Page 8: Introdução ao nosql (mini curso)

Tipos de NOSQL• Orientado a documento• Chave-valor• Orientado a grafo• Orientado a colunas

Page 9: Introdução ao nosql (mini curso)

O que é o MongoDB

MongoDB é uma solução escalavel de alto desempenho escrito em c++, de código aberto de banco de dados NOSQL.

Page 10: Introdução ao nosql (mini curso)

Características do MongoDB• Orientado a documentos• Suporte a índice completo• Replicação e alta disponibilidade• Sharding

Page 11: Introdução ao nosql (mini curso)

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

Page 12: Introdução ao nosql (mini curso)

Principais Consultas do MongoDBSQL MongoDB

CREATE TABLE USERS (a Number, b Number)

db.createCollection("mycoll")

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 ORDER BY name

db.users.find({age:33}).sort({name:1})

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 LIKE "%Joe%"

db.users.find({name:/Joe/})

SELECT * FROM users WHERE a=1 and b='q'

db.users.find({a:1,b:'q'})

Page 13: Introdução ao nosql (mini curso)

Continuação das ConsultasSQL MongoDB

SELECT * FROM users WHERE a=1 or b=2

db.users.find( { $or : [ { a : 1 } , { b : 2 } ] } )

SELECT DISTINCT last_name FROM users

db.users.distinct('last_name')

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'});

Page 14: Introdução ao nosql (mini curso)