Interplaying Cassandra NoSQL Consistency and Performance ...
Cassandra com NOSQL parte 2
Click here to load reader
-
Upload
otavio-goncalves-de-santana -
Category
Technology
-
view
218 -
download
1
description
Transcript of Cassandra com NOSQL parte 2
���������������� ���������� ������������������������������������ ���� ����������� ������ ��������� �� �������
��
No artigo anterior demonstrouse umconceito básico sobre os bancos NOSQLalém de fazer comparações entre os bancos“tradicionais” versus o NOSQL. Nesse artigoabordaremos os tipos de bancos NOSQL,além de sua classificação e, demonstraremos também, alguns exemplos.
Por serem novos bancos ainda nãoexistem padrões. Por mais que dois bancospossuam exatamente as mesmas classificações não é absoluto afirmar que eles possuem os mesmo recursos e que fazem asmesmas coisas. Isso sem falar no grandetrabalho que haverá na mudança de um banco NOSQL para outro, mesmo sendo semelhantes.
Existem hoje diversos SGBDs que seencaixam com o NOSQL. Eles são classificados por: Arquitetura, Armazenamento,
Parte 2:Classificaçãode bancos NOSQL
www.sxc.hu
����� �� ����� � ������������� ��� ��������������� �� ���� � ����� �
�������� ����� � ����������
��
Modelo de Dados:
ArquiteturaNa arquitetura dividemse em dois ti
pos: distribuídos e não distribuídos. Os distribuídos tomam a responsabilidade pelapartição dos dados e pela sua replicação.
Distribuídos : Amazon Dynamo
Scalaris
Voldemort
CouchDb
Riak
MongoDb
BigTable
Cassandra
HyperTable
HBase
Não distribuídos: Redis
Tokyo Tyrant
MemcacheDb
Amazon SimpleDb
ArmazenamentoSão aqueles que armazenam dados
em disco e na memória. Esta diferenciaçãoé importante pois no caso da gravação emdisco você vai precisar de um cache explicito. Já os dados armazenados em memórianão são duráveis. Um ponto interessante aser avaliado é que no disco os dados temmenos possibilidade de serem perdidos, noentanto, o custo de I/O é altíssimo. Em relação à memória, apesar do acesso ser maisrápido, devese levar em conta o fato dos dados ficarem em regiões voláteis.
Memória: Scalaris
Redis
Disco: CouchDb
MongoDb
Riak
Voldemort
Configurável BigTable
Cassandra
Hbase
HyperTable
Modelo de DadosO Modelo de Dados define como a in
formação é armazenada e estruturada dentrodo banco.
Chave/Valor Possui uma estrutura muitosemelhante a do Java.util.Map, onde podemos armazenar uma chave e seu valor. Essevalor pode ser qualquer informação.
Amazon Dynamo
Amazon S3
Redis
Scalaris
Voldemort
DocumentoEste modelo permite armazenar qual
quer documento, sem a necessidade de definir previamente sua estrutura. O documentoé composto por inúmeros campos, com tiposde dados diversos inclusive um campo pode conter um outro, com uma estrutura semelhante a um arquivo XML.
Amazon SimpleDb
Apache Couchdb
MongoDb
Riak
�������� ����� � ����������
����� �� ����� � ������������� ��� ��������������� �� ���� � ����� �
��
ColunasEsse modelo tornouse popular através
do paper BigTable do Google, com o objetivode montar um sistema de armazenamentode dados distribuído. Projetado para ter umalto grau de escalabilidade e de volume dedados é composto por três componentes
Keyspace: Semelhante a um banco de dados relacional tem como função agrupar umconjunto de Famílias de Colunas.
Família de Colunas: Semelhante a uma tabela no modelo relacional, organiza as colunas. Faz uso de uma chave única, que trazflexibilidade ao modelo sem poluir as linhascom colunas nulas.
Coluna: É uma tupla composta por nome,timestamp e valor, onde os dados são realmente armazenados.
Duas características adicionais e importantes deste modelo são a forma de consulta, que pode ser executada apenas atravésda chave das linhas de uma família de colunas, e a necessidade de definir previamenteo conjunto de colunas que podem ser armazenadas em cada família.
Cassandra
Google BigTable
HBase
Hyperbase
Grafo (whiteboard friendly) é uma estrutura de dados que conecta um conjunto devértices através de um conjunto de arestas.Os bancos de dados de grafo moderno suportam estruturas de grafo multirelacionais,onde existem tipos diferentes de vértices (representando pessoas, lugares, itens) e diferentes tipos de arestas (como por exemplo
amigo de, mora em, comprado por).
Neo4j
InfoGrid
Sones
HyperGraphDB
Conclusão:Neste artigo falouse sobre os diversos
tipos de bancos NOSQL, além de classificálos por arquitetura, armazenamento e modelo de dados. Concluise que, com o grandenúmero de aplicações e suas diversidade, foinecessário a criação de algumas formas dearmazenamento para atender melhor um requisito específico. Finalizando uma breve introdução sobre o NOSQL.
No próximo artigo abordaremos o Cassandra e suas características.
Referências__ Porcelli, Alexandre: Java Magazine nº 86 Introdução ao NOSQL
__ Ferreira, Edmar: http://va.mu/TfSR
__ Cassandra: http://va.mu/TixL
__ Reis, Valéria Quadros dos: http://va.mu/TfST
������ ��������� �� �������
������� �� ����� �� ������������� ������������� �� ��������� �� ����������������� ������� ���������� �������� �� ������ ������� �������� �� ������ �� �����.
�������� ����� � ����������
����� �� ����� � ������������� ��� ��������������� �� ���� � ����� �