SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Banco de Dados NoSQL Distribuídos 
João Helis Bernardo 
Smith Ascari
Agenda 
● Uma visão geral sobre BDR 
● O que é NoSQL 
● Por que NoSQL? 
● Realidade das aplicações atuais 
● Características 
● Modelos
Visão geral sobre BDR 
Todos os dados guardados em tabelas 
● Tabelas (Entidades, Relações) 
● Registros (Tuplas) 
● Colunas (Atributos) 
● Chave 
○ Primária 
○ Estrangeira 
● Restrições de integridade
O que é NoSQL? 
● Um movimento que promove armazenamento de dados 
não relacionais (Not Only SQL). 
● Resolve problemas como: 
○ Tratamento de grande quantidade de dados 
○ Execução de consulta com baixa latência 
○ Modelos flexíveis de armazenamento de dados (e.g. 
XML, JSON)
Por que NoSQL? 
● Mudança das aplicações interativas 
● Três meta-tendências inter-relacionadas (Big Data, Big 
User, Cloud Computing) 
● Aplicações precisam suportar o grande número de 
usuários simultâneos
Realidade das Aplicações Atuais 
Fonte: http://www.couchbase.com/why-nosql/nosql-database 
● Big Users
Realidade das Aplicações Atuais 
● Big Data
Realidade das Aplicações Atuais 
● Cloud Computing 
● A maioria das aplicações utilizam a arquitetura web 3-tier 
● Suportam um grande número de usuários 
● BD NoSQL foram projetados pra serem distribuídos 
○ Escalabilidade horizontal (scale out)
O uso do NoSQL pelos desenvolvedores 
● Por que os desenvolvedores estão considerando o 
NoSQL? 
○ Modelo mais flexível dos dados 
■ Complexidade do modelo relacional 
■ Facilidade do modelo NoSQL (e.g. BD NoSQL 
orientados a documentos, utilizando o formato 
JSON).
O uso do NoSQL pelos desenvolvedores 
Fonte: http://www.couchbase.com/why-nosql/nosql-database 
Modelo Relacional - Esquema Rígido x Modelo NoSQL - Sem Esquema
Características 
➔ Armazenamento 
◆ objetivo - Disponibilidade 
◆ utiliza memória principal (alguns modelos 100%) 
◆ cache integrado (impacta sobre a latência)
Características 
➔ Escalabilidade 
◆ modelos que trabalham na forma vertical e 
horizontal 
◆ auto-sharding
Modelos de NOSQL 
➔ Existem vários modelos 
➔ Abordaremos 4 destes 
◆ Chave-Valor 
◆ Tabular 
◆ Baseado em documentos 
◆ Baseado em grafos
Modelo Chave-Valor 
➔ utiliza uma tabela hash 
➔ implementação mais simples e fácil 
➔ exemplos 
◆ Valdemort, Oracle BDB, Redis 
➔ aplicações 
◆ cache de conteúdo
Chave-Valor 
Fonte: http://www.ingenioussql.com/wp-content/uploads/2013/02/KeyValueStore.gif
Modelo Tabular 
➔ o conceito de chave(key) ainda é presente, mas 
apontam para um conjunto de colunas 
➔ exemplos 
◆ Cassandra, HBase, Riak 
➔ aplicações 
◆ sistemas de arquivos distribuídos
Modelo Tabular 
Fonte: http://maxgrinev.files.wordpress.com/2010/07/twitterschema-tweets.png
Baseado em Documentos 
➔ similar ao modelo chave-valor 
➔ coleções de outras coleções (key-value) 
➔ considerado o próximo nível do chave-valor 
➔ suportam consultas eficientes 
➔ documentos (semi-estruturados) são armazenados em formato 
JSON 
➔ exemplos 
◆ CouchDB, MongoDB 
➔ aplicações 
◆ apps Web
Exemplo MongoDB 
http://try.mongodb.org/
Baseado em Grafos 
➔ relacionamento entre nós 
➔ facilita a conexão entre nós 
➔ também é escalável 
➔ exemplos 
◆ Neo4J, InfoGrid, Infinite Graph 
➔ aplicações 
◆ redes sociais
Baseado em Grafos 
Fonte: http://blog.caelum.com.br/wp-content/uploads/2011/05/grafo.png
Modelos NOSQL 
Fonte: http://conteudo.imasters.com.br/21781/39725.png
Quando usar NOSQL 
NOSQL RDBs 
O armazenamento deve ser capaz de lidar com carregamentos pesados Armazenamento é esperado para apresentar 
carregamento pesado também, mas consiste 
principalmente na leitura de operações 
Você executa muitas operações de escrita no armazenamento Você precisa de uma linguagem SQL query poderosa 
Você quer um armazenamento que seja escalável horizontalmente 
Simplicidade é bom, como em uma linguagem query bem simples (sem joins) 
Adaptado de: http://imasters.com.br/artigo/21781/banco-de-dados/escolhendo--a-ferramenta-certa-para-o-banco-de-dados-nosql/
Dúvidas?
Referências 
❏ http://www.couchbase.com/why-nosql/nosql-database 
❏ http://www.devmedia.com.br/conceito-nosql-cassandra-em-java/22863 
❏ http://www.devmedia.com.br/introducao-a-tecnologia-nosql/27682 
❏ http://imasters.com.br/artigo/21781/banco-de-dados/escolhendo--a-ferramenta- 
certa-para-o-banco-de-dados-nosql/

Mais conteúdo relacionado

Mais procurados

NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaAugusto Giles
 
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
 
Introducao aos Bancos de Dados Não-relacionais
Introducao aos Bancos de Dados Não-relacionaisIntroducao aos Bancos de Dados Não-relacionais
Introducao aos Bancos de Dados Não-relacionaisMauricio De Diana
 
RDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLRDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLOrlando Vitali
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters4Partner
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Ambiente Livre
 
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLEstudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLOrlando Vitali
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL Brasil
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQLMySQL Brasil
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Christiano Anderson
 
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
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisCarlo Pires
 
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3MySQL Brasil
 
NoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoNoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoAugusto Giles
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL Brasil
 

Mais procurados (20)

NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
Seminário - NoSQL
Seminário - NoSQLSeminário - NoSQL
Seminário - NoSQL
 
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
 
Introducao aos Bancos de Dados Não-relacionais
Introducao aos Bancos de Dados Não-relacionaisIntroducao aos Bancos de Dados Não-relacionais
Introducao aos Bancos de Dados Não-relacionais
 
RDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLRDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQL
 
NoSQL
NoSQLNoSQL
NoSQL
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
 
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLEstudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
 
My sql apresentação
My sql apresentaçãoMy sql apresentação
My sql apresentação
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundo
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQL
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
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
 
Big Data
Big DataBig Data
Big Data
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
 
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
NoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoNoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas Apresentação
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundo
 

Semelhante a Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos

Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDBLelyBarros
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Thiago de Azeredo
 
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
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
MongoDB também no Azure? SIM! - DevOps Summit 2017
MongoDB também no Azure? SIM! - DevOps Summit 2017MongoDB também no Azure? SIM! - DevOps Summit 2017
MongoDB também no Azure? SIM! - DevOps Summit 2017Renato Groff
 
DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloRenato Groff
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2Flávio Lisboa
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
NoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBNoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBRenato Groff
 
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)Rodrigo Valerio
 
Bancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemBancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemJoão Gabriel Lima
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017Renato Groff
 

Semelhante a Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos (20)

Introdução ao NoSQL
Introdução ao NoSQLIntrodução ao NoSQL
Introdução ao NoSQL
 
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)
 
Mongo db
Mongo dbMongo db
Mongo db
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDB
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
 
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
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
MongoDB também no Azure? SIM! - DevOps Summit 2017
MongoDB também no Azure? SIM! - DevOps Summit 2017MongoDB também no Azure? SIM! - DevOps Summit 2017
MongoDB também no Azure? SIM! - DevOps Summit 2017
 
NoSQL & SQL
NoSQL & SQLNoSQL & SQL
NoSQL & SQL
 
#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 
DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São Paulo
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
NoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBNoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDB
 
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)
 
Bancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemBancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagem
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
Nosql
NosqlNosql
Nosql
 

Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos

  • 1. Banco de Dados NoSQL Distribuídos João Helis Bernardo Smith Ascari
  • 2. Agenda ● Uma visão geral sobre BDR ● O que é NoSQL ● Por que NoSQL? ● Realidade das aplicações atuais ● Características ● Modelos
  • 3. Visão geral sobre BDR Todos os dados guardados em tabelas ● Tabelas (Entidades, Relações) ● Registros (Tuplas) ● Colunas (Atributos) ● Chave ○ Primária ○ Estrangeira ● Restrições de integridade
  • 4. O que é NoSQL? ● Um movimento que promove armazenamento de dados não relacionais (Not Only SQL). ● Resolve problemas como: ○ Tratamento de grande quantidade de dados ○ Execução de consulta com baixa latência ○ Modelos flexíveis de armazenamento de dados (e.g. XML, JSON)
  • 5. Por que NoSQL? ● Mudança das aplicações interativas ● Três meta-tendências inter-relacionadas (Big Data, Big User, Cloud Computing) ● Aplicações precisam suportar o grande número de usuários simultâneos
  • 6. Realidade das Aplicações Atuais Fonte: http://www.couchbase.com/why-nosql/nosql-database ● Big Users
  • 7. Realidade das Aplicações Atuais ● Big Data
  • 8. Realidade das Aplicações Atuais ● Cloud Computing ● A maioria das aplicações utilizam a arquitetura web 3-tier ● Suportam um grande número de usuários ● BD NoSQL foram projetados pra serem distribuídos ○ Escalabilidade horizontal (scale out)
  • 9. O uso do NoSQL pelos desenvolvedores ● Por que os desenvolvedores estão considerando o NoSQL? ○ Modelo mais flexível dos dados ■ Complexidade do modelo relacional ■ Facilidade do modelo NoSQL (e.g. BD NoSQL orientados a documentos, utilizando o formato JSON).
  • 10. O uso do NoSQL pelos desenvolvedores Fonte: http://www.couchbase.com/why-nosql/nosql-database Modelo Relacional - Esquema Rígido x Modelo NoSQL - Sem Esquema
  • 11. Características ➔ Armazenamento ◆ objetivo - Disponibilidade ◆ utiliza memória principal (alguns modelos 100%) ◆ cache integrado (impacta sobre a latência)
  • 12. Características ➔ Escalabilidade ◆ modelos que trabalham na forma vertical e horizontal ◆ auto-sharding
  • 13. Modelos de NOSQL ➔ Existem vários modelos ➔ Abordaremos 4 destes ◆ Chave-Valor ◆ Tabular ◆ Baseado em documentos ◆ Baseado em grafos
  • 14. Modelo Chave-Valor ➔ utiliza uma tabela hash ➔ implementação mais simples e fácil ➔ exemplos ◆ Valdemort, Oracle BDB, Redis ➔ aplicações ◆ cache de conteúdo
  • 16. Modelo Tabular ➔ o conceito de chave(key) ainda é presente, mas apontam para um conjunto de colunas ➔ exemplos ◆ Cassandra, HBase, Riak ➔ aplicações ◆ sistemas de arquivos distribuídos
  • 17. Modelo Tabular Fonte: http://maxgrinev.files.wordpress.com/2010/07/twitterschema-tweets.png
  • 18. Baseado em Documentos ➔ similar ao modelo chave-valor ➔ coleções de outras coleções (key-value) ➔ considerado o próximo nível do chave-valor ➔ suportam consultas eficientes ➔ documentos (semi-estruturados) são armazenados em formato JSON ➔ exemplos ◆ CouchDB, MongoDB ➔ aplicações ◆ apps Web
  • 20. Baseado em Grafos ➔ relacionamento entre nós ➔ facilita a conexão entre nós ➔ também é escalável ➔ exemplos ◆ Neo4J, InfoGrid, Infinite Graph ➔ aplicações ◆ redes sociais
  • 21. Baseado em Grafos Fonte: http://blog.caelum.com.br/wp-content/uploads/2011/05/grafo.png
  • 22. Modelos NOSQL Fonte: http://conteudo.imasters.com.br/21781/39725.png
  • 23. Quando usar NOSQL NOSQL RDBs O armazenamento deve ser capaz de lidar com carregamentos pesados Armazenamento é esperado para apresentar carregamento pesado também, mas consiste principalmente na leitura de operações Você executa muitas operações de escrita no armazenamento Você precisa de uma linguagem SQL query poderosa Você quer um armazenamento que seja escalável horizontalmente Simplicidade é bom, como em uma linguagem query bem simples (sem joins) Adaptado de: http://imasters.com.br/artigo/21781/banco-de-dados/escolhendo--a-ferramenta-certa-para-o-banco-de-dados-nosql/
  • 25. Referências ❏ http://www.couchbase.com/why-nosql/nosql-database ❏ http://www.devmedia.com.br/conceito-nosql-cassandra-em-java/22863 ❏ http://www.devmedia.com.br/introducao-a-tecnologia-nosql/27682 ❏ http://imasters.com.br/artigo/21781/banco-de-dados/escolhendo--a-ferramenta- certa-para-o-banco-de-dados-nosql/