Bancos de dados NOSQL
    (Not Only SQL)


 Rodrigo de Souza Valério
 Developer
 rsvalerio@gmail.com
 @rsvalerio
Qual banco de dados utilizado
por Facebook e Twitter????



                  E pelo google?
Quando você digita pindamonhangaba no
google, e ele traz: "Aproximadamente
20.500.000 resultados (0,15 segundos)",
ANTES DE VOCÊ TERMINAR DE DIGITAR,
você acha que ele está fazendo um SQL
like em um índice??? 
Bancos de dados NoSQL
Alguma vez o google encontrou uma
coisa que a busca do site que você
estava não encontrou? 
Essa apresentação é sobre o
google?????
Apresentando o termo: NoSQL
Wikipedia: "NoSQL (entenda-se "Not only SQL") é um um termo genérico para uma
classe definida de banco de dados não-relacionais que rompe uma longa história de banco
de dados relacionais com propriedades ACID. Outros termos equivalentes para esta
categoria de bancos é NF², N1NF (non first normal form), nested relational, dimensional,
multivalue, free-form, schemaless, document database e MRNN (Modelo Relacional Não
Normalizado)..."




      Não quer
    substituir os
     bancos de
       dados
    relacionais!
Um pouco de história
Cinco NECESSIDADES do mercado, NÃO SÃO ATENDIDAS a
contento pelos produtos de banco de dados e fornecedores
disponíveis no mercado, são eles:

 1. Escalabilidade
 2. Performance
 3. Consistência Eventual ou Relaxada
     1. Dr. Werner Vogels um dos maiores especialistas no mundo em sistemas ultra-escaláveis,
        trabalha a amazon.com, Artigo sobre o termo: http://queue.acm.org/detail.cfm?
        id=1466448
     2. http://en.wikipedia.org/wiki/Eventual_consistency
 4. Agilidade
 5. Complexidade


            Artigo: A necessidade é a mãe do
            NoSQL
Um pouco de história
O divisor de águas no movimento NoSQL, foi a
publicação de 2 artigos:

1. BigTable: A Distributed Storage System for
   Structured Data
    1. Publicado pelo Google
    2. Em Novembro de 2006
    3. No 17 simpósio em design e implementação de
       sistemas operacionais
2. Dynamo: Amazon’s Highly Available Key-Value
   Store
    1. Publicado pela Amazon
    2. Em Outrubro de 2007
    3. No 12 simpósio em princípios de sistemas
       operacionais 
Principais tipos disponíveis

Orientado a Documentos
 ● Linhagem: Inspirado pelo Lotus Notes
 ● Modelo de dados: Coleção de documentos, que
   contém coleções de chave-valor.
 ● Exemplo: CouchDB, MongoDB 
 ● Bom para: Modelagem de dados natural. Amigo do
   programador. Desenvolvimento Rápido. Amigo da
   web, CRUD.




            http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
Principais tipos disponíveis
Armazenamento por chave-valor
 ● Linhagem: Inspirado pelos artigos:  Amazon's Dynamo
   paper e Distributed HashTables
● Modelo de dados: Coleção global de pares de
  chave-valor
● Exemplo: Membase e Riak 
● Bom para: Gerencia bem o tamanho. Processa
  uma quantidade constante de pequenas
  leituras e escritas. É rápido. Amigo do
  programador

         http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
Principais tipos Disponíveis
 Clones   de BigTable (google)
 ● Linhagem: Artigo do Google BigTable
 ● Modelo de dados: Família de colunas, um modelo
   tabular, onde cada linha pode ter suas próprias
   colunas.
 ● Exemplo: HBase, Hypertable, Cassandra 
 ● Bom para: Gerencia bem o tamanho. Processa uma
   grande quantidade de carga via fluxos. Alta
   disponibilidade. Multiplos data-centers.
   MapReduce.



          http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
Principais tipos Disponíveis

Orientado a Grafos
 ● Linhagem: Euler e a teoria dos grafos
 ● Modelo de dados: Nós e relacionamentos,
   ambos manipulam pares de chave-valor
 ● Exemplo: AllegroGraph, InfoGrid e Neo4j
 ● Bom para: Problemas complicados com
   gravos. É rápido




        http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
Principais produtos:
● Couchdb
    ○ http://couchdb.apache.org/
    ○ Escrito em: Erlang
    ○ Principal característica: Consistência do banco de dados. Facilidade de uso
    ○ Licença: Apache
    ○ Protocolo: HTTP/REST
● Mongodb
    ○ http://www.mongodb.org/
    ○ Escrito em: c++
    ○ Principal característica: 
    ○ Licença:
    ○ Protocolo:
● Cassandra
    ○ http://cassandra.apache.org/
    ○ Escrito em: c++
    ○ Principal característica: 
    ○ Licença:
    ○ Protocolo:
● Redis
    ○ http://redis.io/
    ○ Escrito em: c++
    ○ Principal característica: 
    ○ Licença:                            http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
    ○ Protocolo:
Relatório de abril de 2011 entitulado:




Publicado pela "Empresa independente de
análise da indústria de tecnologia focada no
negócio de inovação tecnológica", o grupo
451
Fonte: http://www.the451group.com/caos/caos_detail.php?icid=1651




 O relatório completo custa $3.750,00 dólares no site: https:
 //store.the451group.com/product_info.php?products_id=162&osCsid=mqnruh3dnnb5ob1uv25ssosk27
Referências:

http://nosql-database.org/
http://mynosql.org/
35+ Use Cases for Choosing Your Next NoSQL Database
http://couchdb.apache.org/
http://www.mongodb.org/
http://redis.io/
http://cassandra.apache.org/

Mais conteúdo relacionado

PDF
Material Seminário NoSQL
PDF
Artigo Nosql
PDF
Introducao aos Bancos de Dados Não-relacionais
PDF
NoSQL Familia de Colunas Monografia
PPTX
Seminário - NoSQL
PPTX
NoSQL, Base VS ACID e Teorema CAP
PPTX
NOSQL uma breve introdução
PDF
Sistemas NoSQL, surgimento, características e exemplos
Material Seminário NoSQL
Artigo Nosql
Introducao aos Bancos de Dados Não-relacionais
NoSQL Familia de Colunas Monografia
Seminário - NoSQL
NoSQL, Base VS ACID e Teorema CAP
NOSQL uma breve introdução
Sistemas NoSQL, surgimento, características e exemplos

Mais procurados (20)

PDF
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
ODP
NoSQL: onde, como e por quê? Cassandra e MongoDB
PPT
Banco de Dados - NoSQL
PDF
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
PDF
O NoSQL e o Relacional: Uma Análise
PDF
NoSQL Familia de Colunas Apresentação
PDF
Algumas das principais características do NoSQL
PDF
O NoSQL e o Relacional: Uma Análise
PPT
Comparação de desempenho entre SQL e NoSQL
PPT
Bancos de dados NoSQL - Redis e MongoDB
PPTX
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
PPTX
Modelos NoSQL e a Persistência Poliglota
PPTX
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
ODP
Persistência Poliglota, Big Data e NoSQL FISL 15
PDF
PDF
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
ODT
Nosql
PDF
NoSql e NewSql
PDF
Cassandra NoSQL JUG Vale 2012
PPTX
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL: onde, como e por quê? Cassandra e MongoDB
Banco de Dados - NoSQL
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
O NoSQL e o Relacional: Uma Análise
NoSQL Familia de Colunas Apresentação
Algumas das principais características do NoSQL
O NoSQL e o Relacional: Uma Análise
Comparação de desempenho entre SQL e NoSQL
Bancos de dados NoSQL - Redis e MongoDB
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Modelos NoSQL e a Persistência Poliglota
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Persistência Poliglota, Big Data e NoSQL FISL 15
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Nosql
NoSql e NewSql
Cassandra NoSQL JUG Vale 2012
Anúncio

Semelhante a Bancos de dados NoSQL (20)

PPT
Bancos de dados NoSQL (Not only sql)
PDF
Bancos de dados nosql (not only sql)
KEY
Utilizando NoSQL no desenvolvimento de soluções inteligentes
PPTX
#1 Introdução ao MongoDB
PPTX
No sql Orientado a documento
PDF
NoSQL com Zend Framework 2
PDF
Minicurso Epoca mongoDB
PPTX
Introdução ao MongoDB (NoSQL)
PDF
Palestra nosql
PPTX
Mongo db
PDF
Fisl banco de dados no sql de código aberto
PPTX
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
PDF
Bancos de dados no sql – uma nova abordagem
PPT
NoSQL & SQL
PDF
Web Scale Data Management
PPS
Apresentação
PDF
DevDay - MongoDb no mundo real - slides
PDF
Mongo db no mundo real slides
PDF
Cobo, Cristiane Brandão. Especialização Banco de Dados
PPS
NoSQL - Soluções alternativas para bancos de dados
Bancos de dados NoSQL (Not only sql)
Bancos de dados nosql (not only sql)
Utilizando NoSQL no desenvolvimento de soluções inteligentes
#1 Introdução ao MongoDB
No sql Orientado a documento
NoSQL com Zend Framework 2
Minicurso Epoca mongoDB
Introdução ao MongoDB (NoSQL)
Palestra nosql
Mongo db
Fisl banco de dados no sql de código aberto
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
Bancos de dados no sql – uma nova abordagem
NoSQL & SQL
Web Scale Data Management
Apresentação
DevDay - MongoDb no mundo real - slides
Mongo db no mundo real slides
Cobo, Cristiane Brandão. Especialização Banco de Dados
NoSQL - Soluções alternativas para bancos de dados
Anúncio

Bancos de dados NoSQL

  • 1. Bancos de dados NOSQL (Not Only SQL) Rodrigo de Souza Valério Developer [email protected] @rsvalerio
  • 2. Qual banco de dados utilizado por Facebook e Twitter???? E pelo google?
  • 3. Quando você digita pindamonhangaba no google, e ele traz: "Aproximadamente 20.500.000 resultados (0,15 segundos)", ANTES DE VOCÊ TERMINAR DE DIGITAR, você acha que ele está fazendo um SQL like em um índice??? 
  • 5. Alguma vez o google encontrou uma coisa que a busca do site que você estava não encontrou? 
  • 6. Essa apresentação é sobre o google?????
  • 7. Apresentando o termo: NoSQL Wikipedia: "NoSQL (entenda-se "Not only SQL") é um um termo genérico para uma classe definida de banco de dados não-relacionais que rompe uma longa história de banco de dados relacionais com propriedades ACID. Outros termos equivalentes para esta categoria de bancos é NF², N1NF (non first normal form), nested relational, dimensional, multivalue, free-form, schemaless, document database e MRNN (Modelo Relacional Não Normalizado)..." Não quer substituir os bancos de dados relacionais!
  • 8. Um pouco de história Cinco NECESSIDADES do mercado, NÃO SÃO ATENDIDAS a contento pelos produtos de banco de dados e fornecedores disponíveis no mercado, são eles: 1. Escalabilidade 2. Performance 3. Consistência Eventual ou Relaxada 1. Dr. Werner Vogels um dos maiores especialistas no mundo em sistemas ultra-escaláveis, trabalha a amazon.com, Artigo sobre o termo: http://queue.acm.org/detail.cfm? id=1466448 2. http://en.wikipedia.org/wiki/Eventual_consistency 4. Agilidade 5. Complexidade Artigo: A necessidade é a mãe do NoSQL
  • 9. Um pouco de história O divisor de águas no movimento NoSQL, foi a publicação de 2 artigos: 1. BigTable: A Distributed Storage System for Structured Data 1. Publicado pelo Google 2. Em Novembro de 2006 3. No 17 simpósio em design e implementação de sistemas operacionais 2. Dynamo: Amazon’s Highly Available Key-Value Store 1. Publicado pela Amazon 2. Em Outrubro de 2007 3. No 12 simpósio em princípios de sistemas operacionais 
  • 10. Principais tipos disponíveis Orientado a Documentos ● Linhagem: Inspirado pelo Lotus Notes ● Modelo de dados: Coleção de documentos, que contém coleções de chave-valor. ● Exemplo: CouchDB, MongoDB  ● Bom para: Modelagem de dados natural. Amigo do programador. Desenvolvimento Rápido. Amigo da web, CRUD. http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
  • 11. Principais tipos disponíveis Armazenamento por chave-valor ● Linhagem: Inspirado pelos artigos:  Amazon's Dynamo paper e Distributed HashTables ● Modelo de dados: Coleção global de pares de chave-valor ● Exemplo: Membase e Riak  ● Bom para: Gerencia bem o tamanho. Processa uma quantidade constante de pequenas leituras e escritas. É rápido. Amigo do programador http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
  • 12. Principais tipos Disponíveis  Clones de BigTable (google) ● Linhagem: Artigo do Google BigTable ● Modelo de dados: Família de colunas, um modelo tabular, onde cada linha pode ter suas próprias colunas. ● Exemplo: HBase, Hypertable, Cassandra  ● Bom para: Gerencia bem o tamanho. Processa uma grande quantidade de carga via fluxos. Alta disponibilidade. Multiplos data-centers. MapReduce. http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
  • 13. Principais tipos Disponíveis Orientado a Grafos ● Linhagem: Euler e a teoria dos grafos ● Modelo de dados: Nós e relacionamentos, ambos manipulam pares de chave-valor ● Exemplo: AllegroGraph, InfoGrid e Neo4j ● Bom para: Problemas complicados com gravos. É rápido http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
  • 14. Principais produtos: ● Couchdb ○ http://couchdb.apache.org/ ○ Escrito em: Erlang ○ Principal característica: Consistência do banco de dados. Facilidade de uso ○ Licença: Apache ○ Protocolo: HTTP/REST ● Mongodb ○ http://www.mongodb.org/ ○ Escrito em: c++ ○ Principal característica:  ○ Licença: ○ Protocolo: ● Cassandra ○ http://cassandra.apache.org/ ○ Escrito em: c++ ○ Principal característica:  ○ Licença: ○ Protocolo: ● Redis ○ http://redis.io/ ○ Escrito em: c++ ○ Principal característica:  ○ Licença: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis ○ Protocolo:
  • 15. Relatório de abril de 2011 entitulado: Publicado pela "Empresa independente de análise da indústria de tecnologia focada no negócio de inovação tecnológica", o grupo 451 Fonte: http://www.the451group.com/caos/caos_detail.php?icid=1651 O relatório completo custa $3.750,00 dólares no site: https: //store.the451group.com/product_info.php?products_id=162&osCsid=mqnruh3dnnb5ob1uv25ssosk27
  • 16. Referências: http://nosql-database.org/ http://mynosql.org/ 35+ Use Cases for Choosing Your Next NoSQL Database http://couchdb.apache.org/ http://www.mongodb.org/ http://redis.io/ http://cassandra.apache.org/