NoSQL COLUNAS Jairo Tiburtino dos Santos. Roteiro Cenário Características Apache Cassandra Apache...
Transcript of NoSQL COLUNAS Jairo Tiburtino dos Santos. Roteiro Cenário Características Apache Cassandra Apache...
NoSQL COLUNAS
Jairo Tiburtino dos Santos
Roteiro• Cenário
• Características
• Apache Cassandra
• Apache Hadoop
Motivação
Tomar Decisões
Analisar
Compreender
Grande volume de dados?
NoSQL – SGBDS
Características• Alta concorrência na escrita e leitura de dados;
• Armazenamento e consultas de dados altamente eficientes;
• Não se baseiam no paradigma ACID, mas no paradigm BASE;
• Escalonável;
• Tolerante a falhas;
• Basicamente Avaliado – disponível;• Soft State;• Eventualmente persistente;
Apache Cassandra
Criado pelo Facebook em 2008 para atender aos requisitos operacionais:
• Escalabilidade – contínuo crescimento da plataforma.• Desempenho - Robustez na busca de mensagens.• Tolerância a falhas – Manter o sistema em funcionamento caso
algum servidor falhe.
Arquitetura:
• Cluster de 600 núcleos• 150 terabytes de dados• 250 milhões de usuários
Modelo de Dados
Tabela é indexada por uma chave.Em cada linha os dados são divididos em colunas, família de colunas.
Colunas• Nome (id)• Valor (objeto)
Super Colunas Colunas que possuem outras colunas como valor.
rua:{name:”rua”, value:” Av. dos Reitores”, Timestamp:”123”}
endereco:{name:”endereco”,value:{ rua:{name:”rua”, value:” Av. dos Reitores”, Timestamp:”123”}, cep:{name”cep”, value:”12345”, Timestamp:”321” } }}
Famílias de Colunas
• Utilizadas para agrupar colunas;• Conceito parecido com o banco de dados
relacional;• Não são dinâmicas;• São agrupadas em keyspaces;
Super Família de Colunas
Possui como colunas somente Super Colunas – Análogo às colunas
Banco de Dados Cassandra(Exemplo)
Arquitetura - Cassandra
Node
Node
NodeNode
Node
Arquitetura - Particionamento
Node
Node
NodeNode
Node
dado dado
dado
dado
dado
dado
Máquina responsável pelo dado:- Hashing da chave identificadora do dado;
- Adição e remoção de nós só afeta os nós vizinhos, proporcionando a escalabilidade do sistema.
Arquitetura - Replicação• Utilizada para garantir a disponibilidade dos dados;• É feita pelo coordenador do nó (máquina);• Realizada de três formas diferentes: Rack Unaware, Rack Aware e
Datacenter Aware;
Node
Node
NodeNode
Node dado
Rack Unaware – Dado replicado aos N-1 nós;
Arquitetura - Replicação
Node
Node
NodeNode
Node
Sistema Externo
• Elege um líder para avisar aos outros nós o intervalo em que se deve fazer a replicação;
Escolhido
Rack Aware e Datacenter Aware
BigTable
Características:• Não suporta um modelo de dados totalmente
relacional;• Dados são indexados usando nomes de linhas e
colunas;• Escalonável• Tolerante a falhas;• Persistente;• Mapa multidimensional ordenado;
Modelo de Dados• O mapa é indexado por uma chave na coluna e uma chave
linha e um timestamp;• As linhas são strings arbitrárias• Mantém os dados em ordem lexicográfico;• Cada linha é chamda de tablet;
Referências• Bigtable: A Dih,m3bstributed Storage System for Structured Data – {fay.jeff,
Sanjay, Wilson,fikes.grubber}@google.com} – Disponível em: http://static.googleusercontent.com/media/research.google.com/pt-BR//archive/bigtable-osdi06.pdf
• Banco de Dados NoSQL x SQL – Disponível em http://www.infobrasil.inf.br/userfiles/27-05-S4-1-68840-Bancos%20de%20Dados%20NoSQL.pdf
• O que é NoSQL – Disponível em: http://planetcassandra.org/what-is-nosql/• Cassandra – Uma sistema de armazenamento NoSQL altamente escalável .
Disponível em:
Click icon to add picture