You are on page 1of 13

Universidade Vila Velha Iago Binow, Lorran Pegoretti, Luiz Marcon e Pedro Malta Trabalho realizado para avaliao

na disciplina de Banco de Dados II, do curso de Cincia da Computao, turno matutino, da Universidade de Vila Velha (UVV), ministrada pelo professor Sandro Tonini. 2012

Histria De onde surgiu o conceito NoSQL Definio O que NoSQL Caractersticas Classificao Dados Exemplo Facebook Exemplo Comandos Mitos sobre NoSQL

Um pouco de Histria
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 distribuio horizontal.

Definio
Definio (Wikipdia)
NoSQL um termo genrico para uma classe definida de banco de dados no-relacionais que rompe uma longa histria 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 No Normalizado).

Pra quem no lembra:


Uma tabela est na primeira forma normal, se e somente se, no possuir atributos multivalorados. Ou seja, a primeira forma normal no admite repeties ou campos que tenha mais que um valor.

http://blogladob.com.br/wp-content/uploads/2012/07/Esqueceram-de-Mim.jpg

Caractersticas
Escalabilidade Horizontal (scale out)

Replicao Escalar por duplicao de informaes Master-Slave http://escalabilidade.com/wp-content/uploads/2010/03/04.png Multi-Master Schema-free


Clusterizao Mapreduce Map Reduce Sharding

Classificao
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

Classificao
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

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

Fonte: http://nosql.mypopescu.com

Classificao

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 escalvel. No precisamos de DBAS. NoSQL mais econmico.

Fontes de Pesquisa
Introduo 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/ Introduo 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