NoSQL colunas Jairo Tiburtino dos Santos
Roteiro Cenário Características Apache Cassandra Apache Hadoop
Motivação Compreender Analisar Tomar Decisões 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 que possuem outras colunas como valor. 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” } }
Super Família de Colunas 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
Arquitetura - Particionamento dado dado Máquina responsável pelo dado: - Hashing da chave identificadora do dado; Node dado dado - Adição e remoção de nós só afeta os nós vizinhos, proporcionando a escalabilidade do sistema. 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 Rack Unaware – Dado replicado aos N-1 nós; dado
Arquitetura - Replicação Escolhido Node Sistema Externo 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
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: