SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Universidade Vila Velha

            Iago Binow, Lorran Pegoretti, Luiz Marcon e Pedro Malta

Trabalho realizado para avaliação na disciplina de Banco de Dados II, do curso de
    Ciência da Computação, turno matutino, da Universidade de Vila Velha
                 (UVV), ministrada pelo professor Sandro Tonini.

                                      2012
   História – De onde surgiu o conceito NoSQL
   Definição – O que é NoSQL
   Características
   Classificação – Dados
   Exemplo – Facebook
   Exemplo – Comandos
   Mitos sobre NoSQL
Um pouco
                                                    de História
 Usado pela primeira vez em 1998 – Autor Carlo Strozzi.

 Volta a ser assunto em 2009 por Eric Evans.

 Surge da necessidade de maior performance e alta escalabilidade.

 Facilidade na distribuição horizontal.
Definição
Definição (Wikipédia)
“NoSQL é 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).”



 Pra quem não lembra:
 Uma tabela está na primeira forma normal, se e somente
 se, não possuir atributos multivalorados.

 Ou seja, a primeira forma normal não admite repetições ou
 campos que tenha mais que um valor.


                                                      http://blogladob.com.br/wp-content/uploads/2012/07/Esqueceram-de-Mim.jpg
Características
 Escalabilidade Horizontal (scale out)

 Replicação – Escalar por duplicação de informações
   Master-Slave
                                           http://escalabilidade.com/wp-content/uploads/2010/03/04.png
   Multi-Master

 Schema-free

 Clusterização

 Mapreduce
   Map
   Reduce

 Sharding
Classificação
              KEY/VALUE STORE
Amazon SimpleDB                Membase
Azure Table Storage          Memcachedb
   Berkeley DB                   Mnesia
     Chordless                 NorthScale
     Dynomite           Orient Key/Value Server
     GenieDB                    Pincaster
   GT.M / M.DB               PNUTS/Sherpa
    HamsterDB              Project Voldemort
       Hibari                     Redis
        KAI                       Riak
      KaTree                     Scalaris
      Kumofs          ScalienDB / Scalien Keyspace
    LightCloud               Tokyo Cabinet

                                   Fonte: http://nosql.mypopescu.com
Classificação
WIDE COLUMNS STORE
 BigTable     HBase
Cassandra   Hypertable




                            DOCUMENT STORE
                            Colayer          MongoDB
                           CouchDB           OrientDB
                           FleetDB           Raven DB
                          Jackrabbit          ThruDB
                         Lotus Notes         Terrastore



                                   Fonte: http://nosql.mypopescu.com
Classificação

                GRAPH STORE
 AllegroGraph               InfiniteGraph
    Bigdata                    InfoGrid
  Core Data                     Neo4j
      DEX                 OpenLink Virtuoso
   Filament                     Sones
    FlockDB                   VertexDB
HyperGraphDB                    Trinity




                                 Fonte: http://nosql.mypopescu.com
Classificação




Fonte: http://www.slideshare.net/quipo/nosql-databases-why-what-and-when
Exemplo
                         Facebook
• Arquitetura Facebook
Exemplo
                                                                 Comandos
• Comandos Hbase
hbase(main):001:0> create 'test', 'cf'
0 row(s) in 3.8890 seconds


hbase(main):002:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.1840 seconds


hbase(main):003:0> scan 'test‘
ROW       COLUMN+CELL
Row1      column=cf:a, timestamp=1332311427315, value=value1
1 row(s) in 0.1160 seconds

hbase(main):004:0>
Fonte: http://cook.coredump.me/post/19672191046/hbase-client-example
Maiores mitos sobre NoSQL

NoSQL é escalável.

Não precisamos de DBAS.

NoSQL é mais econômico.
Fontes de Pesquisa
 “Introdução ao NoSQL.” - http://www.nosqlbr.com.br

 “Escolhendo entre escalabilidade horizontal e escalabilidade vertical”. -
  http://escalabilidade.com/2010/09/21/escolhendo-entre-escalabilidade-horizontal-e-escalabilidade-vertical/

 “Introdução ao NoSQL parte II” - http://escalabilidade.com/2010/04/06/introducao-ao-nosql-parte-ii/

 InfoWester “Cluster: Principais Conceitos” - http://www.infowester.com/cluster.php

 “NoSQL” - http://nosql.mypopescu.com/kb/nosql

 “Os Maiores mitos sobre NoSQL” - http://escalabilidade.com/2010/10/08/os-maiores-mitos-sobre-nosql/

 “Inside Facebook Messages' Application Server” -
  https://www.facebook.com/note.php?note_id=10150162742108920

 “Hive – The next generation data warehouse” - http://blogs.impetus.com/big_data/hadoop_ecosystem/Hive.do

 Cassandra – A structured storage system on a P2P Network –
  https://www.facebook.com/note.php?note_id=24413138919

Weitere ähnliche Inhalte

Was ist angesagt?

Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQLEric Silva
 
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
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBPaulo Bischof
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introduçãoWise Systems
 
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
 
Conhecendo Apache Cassandra @Movile
Conhecendo Apache Cassandra  @MovileConhecendo Apache Cassandra  @Movile
Conhecendo Apache Cassandra @MovileEiti Kimura
 
Comparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLComparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLpichiliani
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosJoão Helis Bernardo
 
NoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoNoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoAugusto Giles
 
DBA Brasil 2.0 NOSql Apache Cassandra para DBAs
DBA Brasil 2.0   NOSql Apache Cassandra para DBAsDBA Brasil 2.0   NOSql Apache Cassandra para DBAs
DBA Brasil 2.0 NOSql Apache Cassandra para DBAsRonaldo Leite Martins
 
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
 
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
 
Apresentacao Cassandra
Apresentacao CassandraApresentacao Cassandra
Apresentacao CassandraPeslPinguim
 
No sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbNo sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbfabio perrella
 
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
 

Was ist angesagt? (20)

Banco de Dados - NoSQL
Banco de Dados - NoSQLBanco de Dados - NoSQL
Banco de Dados - NoSQL
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
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
 
NoSQL
NoSQLNoSQL
NoSQL
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDB
 
Cassandra NoSQL JUG Vale 2012
Cassandra NoSQL JUG Vale 2012Cassandra NoSQL JUG Vale 2012
Cassandra NoSQL JUG Vale 2012
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
 
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
 
Conhecendo Apache Cassandra @Movile
Conhecendo Apache Cassandra  @MovileConhecendo Apache Cassandra  @Movile
Conhecendo Apache Cassandra @Movile
 
Comparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLComparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQL
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
 
NoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoNoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas Apresentação
 
DBA Brasil 2.0 NOSql Apache Cassandra para DBAs
DBA Brasil 2.0   NOSql Apache Cassandra para DBAsDBA Brasil 2.0   NOSql Apache Cassandra para DBAs
DBA Brasil 2.0 NOSql Apache Cassandra para DBAs
 
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
 
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.
 
Apresentacao Cassandra
Apresentacao CassandraApresentacao Cassandra
Apresentacao Cassandra
 
NoSQL & SQL
NoSQL & SQLNoSQL & SQL
NoSQL & SQL
 
No sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbNo sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodb
 
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
NosqlNosql
Nosql
 

Ähnlich wie Seminário - NoSQL

Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Thiago de Azeredo
 
Cassandra com NOSQL parte 2
Cassandra com NOSQL parte 2Cassandra com NOSQL parte 2
Cassandra com NOSQL parte 2Otávio Santana
 
NoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNicolas Ibanheiz
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordtchandy
 
NPA - NoSQL Persistence API
NPA - NoSQL Persistence APINPA - NoSQL Persistence API
NPA - NoSQL Persistence APIWesley Fuchter
 
Estudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasEstudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasHelio Henrique L. C. Monte-Alto
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLFernando Ike
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
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
 
Fluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsFluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsAndré Agostinho
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMFábio Rehm
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Daniel Lopes
 
MySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLMySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLAirton Lastori
 

Ähnlich wie Seminário - NoSQL (20)

MAC5855 - NoSQL
MAC5855 - NoSQLMAC5855 - NoSQL
MAC5855 - NoSQL
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
 
Cassandra com NOSQL parte 2
Cassandra com NOSQL parte 2Cassandra com NOSQL parte 2
Cassandra com NOSQL parte 2
 
NoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dados
 
Rest nas Nuvens
Rest nas NuvensRest nas Nuvens
Rest nas Nuvens
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecord
 
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)
 
NPA - NoSQL Persistence API
NPA - NoSQL Persistence APINPA - NoSQL Persistence API
NPA - NoSQL Persistence API
 
Estudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasEstudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologias
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
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
 
Fluent NHibernate - Baby Steps
Fluent NHibernate - Baby StepsFluent NHibernate - Baby Steps
Fluent NHibernate - Baby Steps
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORM
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
 
MySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLMySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQL
 

Seminário - NoSQL

  • 1. Universidade Vila Velha Iago Binow, Lorran Pegoretti, Luiz Marcon e Pedro Malta Trabalho realizado para avaliação na disciplina de Banco de Dados II, do curso de Ciência da Computação, turno matutino, da Universidade de Vila Velha (UVV), ministrada pelo professor Sandro Tonini. 2012
  • 2. História – De onde surgiu o conceito NoSQL  Definição – O que é NoSQL  Características  Classificação – Dados  Exemplo – Facebook  Exemplo – Comandos  Mitos sobre NoSQL
  • 3. Um pouco de História  Usado pela primeira vez em 1998 – Autor Carlo Strozzi.  Volta a ser assunto em 2009 por Eric Evans.  Surge da necessidade de maior performance e alta escalabilidade.  Facilidade na distribuição horizontal.
  • 4. Definição Definição (Wikipédia) “NoSQL é 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).” Pra quem não lembra: Uma tabela está na primeira forma normal, se e somente se, não possuir atributos multivalorados. Ou seja, a primeira forma normal não admite repetições ou campos que tenha mais que um valor. http://blogladob.com.br/wp-content/uploads/2012/07/Esqueceram-de-Mim.jpg
  • 5. Características  Escalabilidade Horizontal (scale out)  Replicação – Escalar por duplicação de informações  Master-Slave http://escalabilidade.com/wp-content/uploads/2010/03/04.png  Multi-Master  Schema-free  Clusterização  Mapreduce  Map  Reduce  Sharding
  • 6. Classificação KEY/VALUE STORE Amazon SimpleDB Membase Azure Table Storage Memcachedb Berkeley DB Mnesia Chordless NorthScale Dynomite Orient Key/Value Server GenieDB Pincaster GT.M / M.DB PNUTS/Sherpa HamsterDB Project Voldemort Hibari Redis KAI Riak KaTree Scalaris Kumofs ScalienDB / Scalien Keyspace LightCloud Tokyo Cabinet Fonte: http://nosql.mypopescu.com
  • 7. Classificação WIDE COLUMNS STORE BigTable HBase Cassandra Hypertable DOCUMENT STORE Colayer MongoDB CouchDB OrientDB FleetDB Raven DB Jackrabbit ThruDB Lotus Notes Terrastore Fonte: http://nosql.mypopescu.com
  • 8. Classificação GRAPH STORE AllegroGraph InfiniteGraph Bigdata InfoGrid Core Data Neo4j DEX OpenLink Virtuoso Filament Sones FlockDB VertexDB HyperGraphDB Trinity Fonte: http://nosql.mypopescu.com
  • 10. Exemplo Facebook • Arquitetura Facebook
  • 11. Exemplo Comandos • Comandos Hbase hbase(main):001:0> create 'test', 'cf' 0 row(s) in 3.8890 seconds hbase(main):002:0> put 'test', 'row1', 'cf:a', 'value1' 0 row(s) in 0.1840 seconds hbase(main):003:0> scan 'test‘ ROW COLUMN+CELL Row1 column=cf:a, timestamp=1332311427315, value=value1 1 row(s) in 0.1160 seconds hbase(main):004:0> Fonte: http://cook.coredump.me/post/19672191046/hbase-client-example
  • 12. Maiores mitos sobre NoSQL NoSQL é escalável. Não precisamos de DBAS. NoSQL é mais econômico.
  • 13. Fontes de Pesquisa  “Introdução ao NoSQL.” - http://www.nosqlbr.com.br  “Escolhendo entre escalabilidade horizontal e escalabilidade vertical”. - http://escalabilidade.com/2010/09/21/escolhendo-entre-escalabilidade-horizontal-e-escalabilidade-vertical/  “Introdução ao NoSQL parte II” - http://escalabilidade.com/2010/04/06/introducao-ao-nosql-parte-ii/  InfoWester “Cluster: Principais Conceitos” - http://www.infowester.com/cluster.php  “NoSQL” - http://nosql.mypopescu.com/kb/nosql  “Os Maiores mitos sobre NoSQL” - http://escalabilidade.com/2010/10/08/os-maiores-mitos-sobre-nosql/  “Inside Facebook Messages' Application Server” - https://www.facebook.com/note.php?note_id=10150162742108920  “Hive – The next generation data warehouse” - http://blogs.impetus.com/big_data/hadoop_ecosystem/Hive.do  Cassandra – A structured storage system on a P2P Network – https://www.facebook.com/note.php?note_id=24413138919