SlideShare una empresa de Scribd logo
1 de 19
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

Más contenido relacionado

La actualidad más candente

Conhecendo Apache Cassandra @Movile
Conhecendo Apache Cassandra  @MovileConhecendo Apache Cassandra  @Movile
Conhecendo Apache Cassandra @MovileEiti Kimura
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilPASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilAlexandre Araujo
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introduçãoWise Systems
 

La actualidad más candente (6)

Cassandra NoSQL JUG Vale 2012
Cassandra NoSQL JUG Vale 2012Cassandra NoSQL JUG Vale 2012
Cassandra NoSQL JUG Vale 2012
 
Conhecendo Apache Cassandra @Movile
Conhecendo Apache Cassandra  @MovileConhecendo Apache Cassandra  @Movile
Conhecendo Apache Cassandra @Movile
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilPASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
 
NoSQL & SQL
NoSQL & SQLNoSQL & SQL
NoSQL & SQL
 

Similar a Introdução ao Nosql

Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Renato Groffe
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Renato Groff
 
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Renato Groff
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaAugusto Giles
 
No sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasNo sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasJoão Gabriel Lima
 
Palestra Google Cloud Spanner
Palestra Google Cloud SpannerPalestra Google Cloud Spanner
Palestra Google Cloud SpannerFelipe Santos
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaGlaucio Scheibel
 

Similar a Introdução ao Nosql (20)

Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018
 
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
 
No sql std
No sql stdNo sql std
No sql std
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
 
NoSQL: Perdas e Ganhos
NoSQL: Perdas e GanhosNoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
 
Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
MAC5855 - NoSQL
MAC5855 - NoSQLMAC5855 - NoSQL
MAC5855 - NoSQL
 
Mongo db
Mongo dbMongo db
Mongo db
 
No sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasNo sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativas
 
Palestra Google Cloud Spanner
Palestra Google Cloud SpannerPalestra Google Cloud Spanner
Palestra Google Cloud Spanner
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 

Último

About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 

Último (20)

About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 

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