SlideShare uma empresa Scribd logo
NoSQL
JoãoClineu
JoséSilva
ReginaldodeOliveira
ThiagoPerrone
VaniltonPinheiro
Introdução
• Modelo Relacional – 1970
• SGBDs
• Relações
• Tuplas
• Colunas
• Restrições de Integridade
• Normalização
• SQL(Structured Query Language)- IBM
• Algebra Relacional
Limitações
• Evolução de Sistemas -> Volume de Dados
• Google – Petabytes – 10 bytes
• Upgrade
• Servidores
15
NoSQL - Not Only SQL
• Propósito
• Solução – Gerenciamento de Arquivos em grande massa.
• Performance
• Surgimento 1998
• Sem Interface SQL
• Livre – Flexível
• MRNN – Modelo Relacional não Normalizado
• Histórico de Implementações
• 2004 – Google – BigTable
• 2007 – Amazon – sistema Dynamo
• 2008 – Facebook – Cassandra
• 2009 CouchDB / Mongo DB
• 2010 - Twitter - MySQL to Cassandra
Tipos
• Chave-valor
Vantagem - o modelo chave-valor “favorece alta escalabilidade ao invés da
consistência
Desvantagem - omite recursos ricos para consultas (especialmente operações de
joins e agregação são postas de lado)
Tipos
• Orientado a documento
• Vantagem - permite que novos campos sejam adicionados a um
documento sem que isso cause algum problema na base de dados.
• Consulta direta
• Desvantagem - não possuem esquema, ou seja, os documentos
armazenados não precisam possuir estrutura em comum”.
• Duplicidade dos dados.
• Exemplo: tendo como contexto uma estrutura que mantenha a
relação de Pessoa com Cargo e fosse criada uma consulta para
recuperar o cargo da pessoa “A”, no modelo orientado a documentos
bastaria recuperar o documento da “A”. Por que? Conteria o
documento de seu cargo, já no modelo relacional seria necessário
realizar um join entre a tabela Pessoa e Cargo, o que tem um custo
de desempenho para execução, melhor percebido em consultas
mais complexas.
Tipos
• Orientado a grafo
• Vantagem – O fato de “não existir tanta replicação de dados
como nos outros modelos, fato que acontece por se
aproveitar do relacionamento entre os registros”
• Exemplo: Se houver dois documentos, um representando a
pessoa “A” e outra representando a pessoa “B” e ambos
conhecem a pessoa “C”, tanto o documento “A” quanto “B”
teriam que guardar uma instância da pessoa “C”. No caso dos
grafos, isso é resolvido apenas utilizando ligações com arestas
que armazenam um valor que indica que a pessoa
• conhece “C”;
Tipos
• Orientado a colunas
• O exemplo da Figura abaixo que modela o conceito de
amigos, onde primeiroNome e sobrenome são colunas
pertencentes à família de colunas denominada nome. De
maneira semelhante, as colunas endereço, cidade e estado
pertencem à família local. Observe que para a linha 001, o
amigo Hélio tem diferentes endereços, onde para cada um
deles tem um timestamp correspondente. Como já foi dito, o
acesso à linha é atômico, ou seja, mesmo 7 coluna sobrenome
da linha 001, todas as colunas são retornadas quando esta
linha for consultada.
SGBDs X NoSQL
• Escalonamento
• Vertical – Upgrade
• Horizontal - Servidores (Máquinas ou Nuvem)
• Sharing – Utilização e Armazenamento em conjunto
• Desnormalização
SGBDs X NoSQL
• Vantagens NoSQL
• Disponibilidade
• Otimizado
• Em 2008, enquanto ainda utilizava o PostgreSQL, o site que funciona
como rede social ficou 84 horas for do ar. Em 2009, após a utilização
do Cassandra, esse tempo foi sensivelmente reduzido para 23 horas
e 45 minutos.
http://www.computerworld.com/s/article/9161078/Twitter_growth
_prompts_switch_from_MySQL_to_NoSQL_database
• Menor tempo de resposta para consultas, paralelismo de
atualização de dados e maior grau de concorrência.
• Locks - Controle de Concorrência de Multi-versões (MVCC)
SGBDs X NoSQL
• Controle de Concorrência: Bloqueios x MVCC
SGBDs X NoSQL
• Modelo NoSQL
• Tal idéia se baseia no Teorema de Eric Brewer conhecido como
Teorema CAP (Consistency, Availability e Partition Tolerance), o
qual afirma que é impossível para um sistema computacional
distribuído garantir, de forma
simultânea, consistência, disponibilidade e tolerância ao
particionamento. Segundo esse teorema, um sistema distribuído
pode garantir apenas duas dessas três características
simultaneamente.
E. Brewer. “Towards Robust Distributed Systems”. (Invited Talk). Principles of Distributed
Computing (PODC), Portland, Oregon, Julho 200
SGBDs X NoSQL
• Modelo NoSQL
• Esse conceito é estendido para o paradigma chamado BASE
(Basically Available, Soft state, Eventual consistency) que se
caracteriza por ser basicamente disponível, ou seja, o sistema
parece estar funcionando o tempo todo; em estado leve, o
sistema não precisa ser consistente o tempo todo; e
eventualmente consistente, o sistema torna-se consistente no
momento devido.
D. Pritchett, “BASE: An Acid Alternative”, ACM Queue vol. 6, no. 3, Julho 2008.
SGBD X NoSQL
• Modelo Relacional
• Esse modelo entra em contraste com o paradigma ACID
(Atomicity, Consistency, Isolation, Durability) comumente
associado aos SGBDs relacionais. Enquanto o modelo ACID força a
consistência ao final de cada operação, o modelo BASE permite
que o banco de dados esteja eventualmente em um estado
consistente. A disponibilidade do modelo BASE está relacionada
ao fato de que a queda de uma máquina do sistema não leva o
sistema como um todo a ser interrompido, representando apenas
uma máquina a menos disponível
D. Pritchett, “BASE: An Acid Alternative”, ACM Queue vol. 6, no. 3, Julho 2008
Exemplos
SQL 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'})
Exemplos
• $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
NoSQL V Relacional ?
Concluindo
Referências
• http://ulbra-
to.br/encoinfo/artigos/2012/Utilizacao_da_Classe_de_Banco_
de_%20Dados_NOSQL_como_Solucao_para_Manipulacao_de
_Diversas_Estruturas_de_Dados.pdf
• http://www.infobrasil.inf.br/userfiles/27-05-S4-1-68840-
Bancos%20de%20Dados%20NoSQL.pdf
• http://www.addlabs.uff.br/sbsc_site/SBSC2011_NoSQL.pdf

Mais conteúdo relacionado

PPTX
Seminário - NoSQL
PDF
Material Seminário NoSQL
ODP
NoSQL: onde, como e por quê? Cassandra e MongoDB
PPT
Comparação de desempenho entre SQL e NoSQL
PDF
Bancos de dados NoSQL
PPTX
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
PDF
Algumas das principais características do NoSQL
PDF
No sql e as vantagens na utilização do mongodb
Seminário - NoSQL
Material Seminário NoSQL
NoSQL: onde, como e por quê? Cassandra e MongoDB
Comparação de desempenho entre SQL e NoSQL
Bancos de dados NoSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Algumas das principais características do NoSQL
No sql e as vantagens na utilização do mongodb

Mais procurados (6)

PDF
Cassandra NoSQL JUG Vale 2012
PDF
Conhecendo Apache Cassandra @Movile
PPTX
No sql Orientado a documento
PPTX
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PPTX
NOSQL uma breve introdução
PPT
NoSQL & SQL
Cassandra NoSQL JUG Vale 2012
Conhecendo Apache Cassandra @Movile
No sql Orientado a documento
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
NOSQL uma breve introdução
NoSQL & SQL
Anúncio

Semelhante a Introdução ao Nosql (20)

PDF
NoSQL Familia de Colunas Monografia
PDF
Artigo Nosql
PDF
MAC5855 - NoSQL
PDF
Introducao a base de dados IBD07 NoSQL.pdf
PDF
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
PPTX
NoSQL, Base VS ACID e Teorema CAP
PDF
No sql o_que_e_isso.key
PDF
Pesquisa sobre no sql
PPS
Apresentação
PDF
No sql no desenvolvimento de aplicações web colaborativas
ODT
Nosql
PDF
NoSql e NewSql
PPT
I nd t_bigdata(1)
PDF
NoSQL2_JorgeBenevolo_apresentacao_nosql.pdf
ODP
No sql std
PDF
Web Scale Data Management
PPT
NOSQL - Uma real alternativa
PPTX
Banco de dados, relacional e não relacional
PDF
Introducao aos Bancos de Dados Não-relacionais
PDF
Bancos de dados NoSQL: uma visão geral
NoSQL Familia de Colunas Monografia
Artigo Nosql
MAC5855 - NoSQL
Introducao a base de dados IBD07 NoSQL.pdf
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
NoSQL, Base VS ACID e Teorema CAP
No sql o_que_e_isso.key
Pesquisa sobre no sql
Apresentação
No sql no desenvolvimento de aplicações web colaborativas
Nosql
NoSql e NewSql
I nd t_bigdata(1)
NoSQL2_JorgeBenevolo_apresentacao_nosql.pdf
No sql std
Web Scale Data Management
NOSQL - Uma real alternativa
Banco de dados, relacional e não relacional
Introducao aos Bancos de Dados Não-relacionais
Bancos de dados NoSQL: uma visão geral
Anúncio

Último (20)

PPTX
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
PDF
embriologia_animal_aula_share_2026_semestre
PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PPTX
Ciências da Natureza e suas áreas de desenvolvimento
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
PDF
Cantores.pdf-Deslandes, Tinoco e Zambujo
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PDF
Uma Introdução às Ciências do Alcorão (Islam)
PPTX
Filosofia Ocidental Antiga 2025 - versão atualizada
PDF
O retorno a origem (islã Islamismo)
PPTX
disciplulado curso preparatorio para novos
PPTX
GUERRAFRIA.pptdddddddddddddddddddddddddx
PPTX
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PPTX
brasilcolnia2-101027184359-phpapp02.pptx
PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
PDF
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
PPTX
biossegurança e segurança no trabalho (6).pptx
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
embriologia_animal_aula_share_2026_semestre
NR11 - Treinamento Direcao Defensiva - 2023.pptx
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
Ciências da Natureza e suas áreas de desenvolvimento
Metabolismo_energético_3ano_pre_vest_2026.pdf
Cantores.pdf-Deslandes, Tinoco e Zambujo
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
Uma Introdução às Ciências do Alcorão (Islam)
Filosofia Ocidental Antiga 2025 - versão atualizada
O retorno a origem (islã Islamismo)
disciplulado curso preparatorio para novos
GUERRAFRIA.pptdddddddddddddddddddddddddx
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
brasilcolnia2-101027184359-phpapp02.pptx
Revolução Industrial - Aula Expositiva - 3U4.pptx
Realismo e Naturalismo: Aluísio Azevedo.
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
biossegurança e segurança no trabalho (6).pptx

Introdução ao Nosql

  • 2. Introdução • Modelo Relacional – 1970 • SGBDs • Relações • Tuplas • Colunas • Restrições de Integridade • Normalização • SQL(Structured Query Language)- IBM • Algebra Relacional
  • 3. Limitações • Evolução de Sistemas -> Volume de Dados • Google – Petabytes – 10 bytes • Upgrade • Servidores 15
  • 4. NoSQL - Not Only SQL • Propósito • Solução – Gerenciamento de Arquivos em grande massa. • Performance • Surgimento 1998 • Sem Interface SQL • Livre – Flexível • MRNN – Modelo Relacional não Normalizado • Histórico de Implementações • 2004 – Google – BigTable • 2007 – Amazon – sistema Dynamo • 2008 – Facebook – Cassandra • 2009 CouchDB / Mongo DB • 2010 - Twitter - MySQL to Cassandra
  • 5. Tipos • Chave-valor Vantagem - o modelo chave-valor “favorece alta escalabilidade ao invés da consistência Desvantagem - omite recursos ricos para consultas (especialmente operações de joins e agregação são postas de lado)
  • 6. Tipos • Orientado a documento • Vantagem - permite que novos campos sejam adicionados a um documento sem que isso cause algum problema na base de dados. • Consulta direta • Desvantagem - não possuem esquema, ou seja, os documentos armazenados não precisam possuir estrutura em comum”. • Duplicidade dos dados. • Exemplo: tendo como contexto uma estrutura que mantenha a relação de Pessoa com Cargo e fosse criada uma consulta para recuperar o cargo da pessoa “A”, no modelo orientado a documentos bastaria recuperar o documento da “A”. Por que? Conteria o documento de seu cargo, já no modelo relacional seria necessário realizar um join entre a tabela Pessoa e Cargo, o que tem um custo de desempenho para execução, melhor percebido em consultas mais complexas.
  • 7. Tipos • Orientado a grafo • Vantagem – O fato de “não existir tanta replicação de dados como nos outros modelos, fato que acontece por se aproveitar do relacionamento entre os registros” • Exemplo: Se houver dois documentos, um representando a pessoa “A” e outra representando a pessoa “B” e ambos conhecem a pessoa “C”, tanto o documento “A” quanto “B” teriam que guardar uma instância da pessoa “C”. No caso dos grafos, isso é resolvido apenas utilizando ligações com arestas que armazenam um valor que indica que a pessoa • conhece “C”;
  • 8. Tipos • Orientado a colunas • O exemplo da Figura abaixo que modela o conceito de amigos, onde primeiroNome e sobrenome são colunas pertencentes à família de colunas denominada nome. De maneira semelhante, as colunas endereço, cidade e estado pertencem à família local. Observe que para a linha 001, o amigo Hélio tem diferentes endereços, onde para cada um deles tem um timestamp correspondente. Como já foi dito, o acesso à linha é atômico, ou seja, mesmo 7 coluna sobrenome da linha 001, todas as colunas são retornadas quando esta linha for consultada.
  • 9. SGBDs X NoSQL • Escalonamento • Vertical – Upgrade • Horizontal - Servidores (Máquinas ou Nuvem) • Sharing – Utilização e Armazenamento em conjunto • Desnormalização
  • 10. SGBDs X NoSQL • Vantagens NoSQL • Disponibilidade • Otimizado • Em 2008, enquanto ainda utilizava o PostgreSQL, o site que funciona como rede social ficou 84 horas for do ar. Em 2009, após a utilização do Cassandra, esse tempo foi sensivelmente reduzido para 23 horas e 45 minutos. http://www.computerworld.com/s/article/9161078/Twitter_growth _prompts_switch_from_MySQL_to_NoSQL_database • Menor tempo de resposta para consultas, paralelismo de atualização de dados e maior grau de concorrência. • Locks - Controle de Concorrência de Multi-versões (MVCC)
  • 11. SGBDs X NoSQL • Controle de Concorrência: Bloqueios x MVCC
  • 12. SGBDs X NoSQL • Modelo NoSQL • Tal idéia se baseia no Teorema de Eric Brewer conhecido como Teorema CAP (Consistency, Availability e Partition Tolerance), o qual afirma que é impossível para um sistema computacional distribuído garantir, de forma simultânea, consistência, disponibilidade e tolerância ao particionamento. Segundo esse teorema, um sistema distribuído pode garantir apenas duas dessas três características simultaneamente. E. Brewer. “Towards Robust Distributed Systems”. (Invited Talk). Principles of Distributed Computing (PODC), Portland, Oregon, Julho 200
  • 13. SGBDs X NoSQL • Modelo NoSQL • Esse conceito é estendido para o paradigma chamado BASE (Basically Available, Soft state, Eventual consistency) que se caracteriza por ser basicamente disponível, ou seja, o sistema parece estar funcionando o tempo todo; em estado leve, o sistema não precisa ser consistente o tempo todo; e eventualmente consistente, o sistema torna-se consistente no momento devido. D. Pritchett, “BASE: An Acid Alternative”, ACM Queue vol. 6, no. 3, Julho 2008.
  • 14. SGBD X NoSQL • Modelo Relacional • Esse modelo entra em contraste com o paradigma ACID (Atomicity, Consistency, Isolation, Durability) comumente associado aos SGBDs relacionais. Enquanto o modelo ACID força a consistência ao final de cada operação, o modelo BASE permite que o banco de dados esteja eventualmente em um estado consistente. A disponibilidade do modelo BASE está relacionada ao fato de que a queda de uma máquina do sistema não leva o sistema como um todo a ser interrompido, representando apenas uma máquina a menos disponível D. Pritchett, “BASE: An Acid Alternative”, ACM Queue vol. 6, no. 3, Julho 2008
  • 15. Exemplos SQL 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'})
  • 16. Exemplos • $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