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: