sgbd nosql 1 - ufpein940/nosql_1_chave-valor_e_documentos... · 2017-06-26 · nosql (not only sql)...
TRANSCRIPT
![Page 1: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/1.jpg)
SGBD NoSQL 1Dácio Alves Florêncio
![Page 2: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/2.jpg)
Introdução
• Surgimento da Web 2.0;
• Aplicações mais complexas;
• Ineficiência.
SGBD NoSQL 1
2
![Page 3: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/3.jpg)
Motivação
• Ineficiência a tratar esses novos formatos de dados;
SGBD NoSQL 1
3
![Page 4: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/4.jpg)
Objetivos• Conceituação Fundamental do NoSQL
• Conceituação Fundamental dos SGBD documentos;
• Conceituação Fundamental dos SGBD chave-valor;
• Apresentação de Ferramentas:
1. MongoDB;
2. Redis.
• Uso
• Trabalhos Futuros
• Conclusões
SGBD NoSQL 1
4
![Page 5: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/5.jpg)
NoSQL (Not only SQL)
• Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’sdistribuídos;
• Não seguem os princípios dos sistemas relacionais;
• Sem relacionamentos e sem esquemas;
• Desenvolvidos para se adequar ao novo contexto;
• Disponibilidade, desempenho e escalabilidade.
SGBD NoSQL 1
5
![Page 6: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/6.jpg)
Características
SGBD NoSQL 1
• Livre de junções;
• Altamente distribuído;
• Modelos de dados Flexíveis“Os modelos chave-valor e documentos permite a qualquer aplicativo
armazenar a estrutura que quer em um elemento de dados. E que até
mesmo nos bancos de família de colunas que possui características mais
rígidas no armazenamento de dados, permite que novas colunas sejam
adicionadas sem muito esforço.” (Harrison, 2010)
6
![Page 7: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/7.jpg)
NoSQL x Modelo Relacional
SGBD NoSQL 1
7Adaptada de FOWLER (2015, p.12)
![Page 8: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/8.jpg)
NoSQL
SGBD NoSQL 1
Os BD’s Nosql subdividem-se em quatro tipos de modelos de dados:
• Documentos
• Chave-valor
• Família de colunas/ Sistemas de colunas
• Grafos.
8
![Page 9: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/9.jpg)
Modelos de Bancos de Dados NoSQL
SGBD NoSQL 1
Documentos
9Fonte: Adaptada de http://www.json.org/json-pt.html
![Page 10: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/10.jpg)
Modelos de Bancos de Dados NoSQL
SGBD NoSQL 1
Documentos
10
![Page 11: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/11.jpg)
Documentos
SGBD NoSQL 1
• Não necessidade de estabelecer esquema fixo;
• Coleções
11
![Page 12: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/12.jpg)
Modelos de Bancos de Dados NoSQL
Chave-valor – Associa-se uma chave a um valor.
SGBD NoSQL 1
12
![Page 13: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/13.jpg)
Chave-valor
• Possibilita a visualização do BD como uma grande tabela hash;
• Maior nível de eficiência;
• Possui as estruturas mais simples das soluções NoSQL.
SGBD NoSQL 1
13
![Page 14: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/14.jpg)
Maneiras de Distribuição de BD’s
• Mestre-escravo;
• Partição;
• Replicação.
SGBD NoSQL 1
14
![Page 15: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/15.jpg)
Disponibilidade
• Fazer uso da utilização de backups do sistema, pode ser utilizada para manter a disponibilidade de um sistema
SGBD NoSQL 1
15
![Page 16: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/16.jpg)
Tolerância a Partição
• É a habilidade que um sistema tem de continuar respondendo a requisições de clientes, mesmo se houver uma falha de comunicação entre a base de dados e suas partições.
SGBD NoSQL 1
16
![Page 17: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/17.jpg)
Consistência
• Consistência Forte – Retorna o último valor salvo com sucesso, independente de falhas no sistema.
• Consistência Eventual – Não garante um retorno imediato de um dado quando realizadas mudanças nesse
SGBD NoSQL 1
17
![Page 18: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/18.jpg)
Apresentação de Ferramentas
• MongoDB
➢Os documentos no MongoDB são baseados no formato JSON (JavaScript Object Notation);
SGBD NoSQL 1
18
![Page 19: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/19.jpg)
MongoDB
SGBD NoSQL 1
19Banker, 2016.
Modelo Desnormalizado
![Page 20: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/20.jpg)
MongoDB
SGBD NoSQL 1
20Banker, 2016.
Modelo Normalizado
![Page 21: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/21.jpg)
MongoDB
SGBD NoSQL 1
21
• Disponibilidade – O MongoDB replica os seus dados através de uma topologia conhecida como replicas sets
![Page 22: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/22.jpg)
MongoDB
SGBD NoSQL 1
22
• Consistência – O MongoDB consegue oferecer uma consistência forte de seus dados, através da utilização do quórum.
![Page 23: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/23.jpg)
MongoDB
SGBD NoSQL 1
23
• Tolerância à Partição
![Page 24: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/24.jpg)
Apresentação de Ferramentas
SGBD NoSQL 1
24
• Redis
➢Criado por Salvatore Sanfippo.
![Page 25: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/25.jpg)
Redis
SGBD NoSQL 1
25
➢Considerado uma das soluções mais simples NoSQL
Adaptada de DAS 2015, pág 39
![Page 26: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/26.jpg)
Redis
SGBD NoSQL 1
26
• Disponibilidade – Utiliza a replicação de seus dados para aumentar a sua disponibilidade, adotando a arquitetura mestre-escravo
![Page 27: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/27.jpg)
Redis
SGBD NoSQL 1
27
• Consistência – O Redis consegue apenas oferecer a consistência eventual
![Page 28: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/28.jpg)
Redis
SGBD NoSQL 1
28
• Tolerância à Partição – O Redis consegue garantir esta propriedade, por meio do uso da configuração Redis Sentinel.
Fonte: Documentação do Redis
![Page 29: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/29.jpg)
Uso Típico dos Modelos Documentos e Chave-Valor
SGBD NoSQL 1
29Fonte: Mccreary (2014, p.6)
![Page 30: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/30.jpg)
SGBD NoSQL 1
30
• Rede de negócios, fundada em 2002, que tem como foco principal o estabelecimento de relações entre profissionais;
• 2011 atingiu o número de 100 milhões de usuários;
• Desenvolvimento do Voldermort.
![Page 31: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/31.jpg)
Amazon
SGBD NoSQL 1
31
• É uma empresa transnacional de comércio eletrônico dos Estados Unidos;
• Garantir alta disponibilidade dos dados de seus serviços “always-on”;
• Desenvolveram o DynamoDB.
![Page 32: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/32.jpg)
Modelos Documentos
SGBD NoSQL 1
32
![Page 33: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/33.jpg)
Modelos Chave-Valor
SGBD NoSQL 1
33
![Page 34: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/34.jpg)
Trabalhos Futuros
SGBD NoSQL 1
34
• Persistência Poliglota;
• NewSQL.
![Page 35: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/35.jpg)
Conclusões
SGBD NoSQL 1
35
• Os sistemas NoSQL foram desenvolvidos para se adequar ao novo contexto, trazido pela Web 2.0;
• Foram criados com o intuito de atender aos requisitos de
gerenciamento de grandes volumes de dados, semiestruturados ou não estruturados;
• Possuem estruturas simples.
![Page 36: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/36.jpg)
Conclusões
SGBD NoSQL 1
36
• Os SGBD NoSQL baseados no modelo chave-valor, são considerados os que possuem as estruturas mais simples;
• Os SGBD NoSQL baseados em documentos fazem armazenamento de informações hierárquicas em uma única unidade;
• Consultas mais eficazes;
![Page 37: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/37.jpg)
Referências
SGBD NoSQL 1
37
HARRISON, Guy. Things You should Know about NoSQL databases. 2010.
LOHR, Steve. The age of big data. New York Times, v. 11, 2012.
RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Sistemas de gerenciamento de banco de dados. 3. ed. AMGH Editora, 2008.
SULLIVAN, Dan. NoSQL for Mere Mortals. Addison-Wesley Professional, 2015.
TIWARI, Shashank. Professional NoSQL. John Wiley & Sons, 2011.
SEGUIN, Karl. The little redis book. Karl Seguin, 2010.
![Page 38: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/38.jpg)
Referências
SGBD NoSQL 1
38
VIEIRA, Marcos Rodrigues et al. Bancos de Dados NoSQL: conceitos,
ferramentas, linguagens e estudos de casos no contexto de Big Data.
Simpósio Brasileiro de Bancos de Dados, 2012.
SILVA, Maxwell Dayvson da; TAVARES, Hugo Lopes. Redis Essentials.
PacktPublishingLtd, 2015.
DAS, Vinoo. Learning Redis. Packt Publishing Ltd, 2015.
CARLSON, Josiah L. Redis in Action. Manning PublicationsCo., 2013.
BANKER, Kyle. MongoDB in action. Manning Publications Co., 2016.
![Page 39: SGBD NoSQL 1 - UFPEin940/NoSQL_1_Chave-valor_e_Documentos... · 2017-06-26 · NoSQL (Not only SQL) •Bancos de Dados (BD) NoSQL são definidos por ser um grupo de BD’s ... rígidas](https://reader033.vdocuments.com.br/reader033/viewer/2022052423/5f09d8a97e708231d428c621/html5/thumbnails/39.jpg)
Referências
SGBD NoSQL 1
39
Documentação do Redis. Disponível em http://redis.io/topics/sentinel.
Documentação do MongoDB. Disponível em https://docs.mongodb.com/.
LÓSCIO, Bernadette Farias; OLIVEIRA, Hélio Rodrigues de; PONTES, Jonas César de Sousa. NoSQL no desenvolvimento de aplicações Web colaborativas. , v. 10, p. 11, 2011. VIII Simpósio Brasileiro de Sistemas Colaborativos.
MCCREARY, Dan; KELLY, Ann. Making sense of NoSQL. Greenwich, Conn.: Manning Publications, 2014.