NoSQL
COLUNAS
Jairo Tiburtino dos Santos
Roteiro
• Cenário
• Características
• Apache Cassandra
• Apache Hadoop
Motivação
Compreender
Analisar
Grande volume de dados?
Tomar Decisões
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;
• Basicamente Avaliado – disponível;
• Soft State;
• Eventualmente persistente;
• Escalonável;
• Tolerante a falhas;
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)
rua:{name:”rua”, value:” Av. dos Reitores”, Timestamp:”123”}
Super Colunas
Colunas que possuem outras colunas como valor.
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
Node
Node
Node
Arquitetura - Particionamento
dado
Máquina responsável pelo dado:
- Hashing da chave
identificadora do dado;
dado
Node
Node
dado
Node
Node
dado
- Adição e remoção de nós
só afeta os nós vizinhos,
proporcionando a
escalabilidade do sistema.
Node
dado
dado
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
Node
Rack Unaware – Dado replicado
aos N-1 nós;
Node
Node
dado
Arquitetura - Replicação
Escolhido
Sistema
Externo
Node
Node
Node
• Elege um líder para avisar aos
outros nós o intervalo em que se
deve fazer a replicação;
Rack Aware e Datacenter Aware
Node
Node
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/bigtableosdi06.pdf
• Banco de Dados NoSQL x SQL – Disponível em http://www.infobrasil.inf.br/userfiles/27-05-S4-168840-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:
Download

Grande volume de dados?