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
Azure Table Storage
Berkeley DB
Chordless
Dynomite
GenieDB
GT.M / M.DB
HamsterDB
Hibari
KAI
KaTree
Kumofs
LightCloud
Membase
Memcachedb
Mnesia
NorthScale
Orient Key/Value Server
Pincaster
PNUTS/Sherpa
Project Voldemort
Redis
Riak
Scalaris
ScalienDB / Scalien Keyspace
Tokyo Cabinet
Fonte: http://nosql.mypopescu.com
Classificação
WIDE COLUMNS STORE
BigTable
Cassandra
HBase
Hypertable
DOCUMENT STORE
Colayer
CouchDB
FleetDB
Jackrabbit
Lotus Notes
MongoDB
OrientDB
Raven DB
ThruDB
Terrastore
Fonte: http://nosql.mypopescu.com
Classificação
GRAPH STORE
AllegroGraph
Bigdata
Core Data
DEX
Filament
FlockDB
HyperGraphDB
InfiniteGraph
InfoGrid
Neo4j
OpenLink Virtuoso
Sones
VertexDB
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
Download

Universidade Vila Velha Iago Binow, Lorran Pegoretti, Luiz Marcon