2. Roteiro
● Introdução
○ Motivação
○ Objetivo
● O que é NoSQL?
● NoSQL Orientado a Colunas
● Estado da Arte
○ BigTable
● Outras Ferramentas
○ Cassandra
○ HBase
● Perspectivas Futuras
● Referências
3. Introdução
Motivação
● Suprir necessidades em escala Big
Data
● SGBDs existentes nasceram em
necessidades Diferentes
○ BD Relacional (1985)
○ Incompatibilidade
● Interesse em explorar dados
4. Introdução
Objetivo
● Mineração/Produção de Big Data sem gargalos
● Propor soluções Big Data
○ “One size fits all” não se aplica
● Foco na performance, velocidade, flexibilidade e escalabilidade
○ Distribuído
● Não necessariamente preocupado com semânticas relacionais
5. O que é NoSQL?
● Abreviação Polêmica
● Bases de dados não relacionais
○ utilizadas na manipulação de grande volume de
dados
● “NoSQL” vem de uma hashtag utilizada para
promover uma conferência (2009)
6. O que é NoSQL? (Propriedades)
Teorema CAP
● ACID vs BASE
● Teorema:
○ um sistema distribuído não pode,
simultaneamente, fornecer
Consistência, Disponibilidade e
tolerância a partição
ACID BASE
Atômico Basically
Avaliable
Consistente
Soft-State
Isolado
Durável Eventualmente
Consistente
7. O que é NoSQL
Teorema CAP (cont.)
“Não é possível que um sistema de dados distribuído possua os 3 requisitos”
● Consistência (Consistency)
○ Todas as aplicações clientes tem a mesma visão dos dados;
● Disponibilidade (Avaliability)
● Tolerância à Partição (Partition Tolerance)
○ Propriedades mantidas
○ Mesmo quando alguns clusters são impedidos de se comunicar
8.
9.
10. NoSQL Orientado a Colunas
● Colunas Independentes organizadas em:
○ Colunas padrão
○ SuperColunas (colunas encadeadas)
● Chaves apontam para várias colunas
○ montando a linha
11. NoSQL Orientado a Colunas
Modelo de dados:
● Tupla
○ {nome, value, Timestamp}
● Tabela
○ Familia de Colunas
○ Retorno idêntico a uma
query em SGBD relacional
12. NoSQL Orientado a Colunas
Bom para
● Otimizar leitura/escrita
Ruim para
● Sistemas que necessitem de leitura/escrita de acordo com o modelo ACID
13. Estado da Arte
BigTable
● Google (2003)
○ Demandas Futuras
○ MapReduce
○ Dimensões (Células)
■ Linha (Conjunto: Tablets)
■ Coluna (Conjunto: Famílias)
■ Hora (Versionamento de Células)
14. Estado da Arte
BigTable (Arquitetura)
● Componentes Principais
○ Client Library
■ cache de localização
○ Master Server (Administrador)
■ Atribui tablets aos Tablet Servers
■ Coleta de Lixo
○ Tablets Servers
■ Gerencia tamanho dos tablets
■ Lida com Leitura/escrita e
solicitação
18. Outras ferramentas
Cassandra
Arquitetura (cont.)
1. Distribuição transparente
2. Cassandra gerencia réplicas
a. usuário pode definir a quantidade
3. Consistência Ajustável
4. Gravações Rápidas
a. até 360 MB/s em cada nó
5. Armazenamento nos nós (maior parte)
a. Log utilizado para recuperação (grava transações)
6. A gravação de dados visa desempenho
a. a não ser que seja solicitado consistência total
26. Perspectivas Futuras
● Popularidade Aumentando
○ Fonte:db-engines
● Modelo Recente
○ Surgimento em 2005
○ BigTable
● Promissor
○ Não se “amarra” a schemas
○ Facilmente escalável
27. Referências
● MONIRUZZAMAN, A B M; HOSSAIN, Syed Akhter. NoSQL Database: New Era of Databases for
Big data Analytics - Classification, Characteristics and Comparison. International Journal Of
Database Theory And Application. 2013.
● JABLONSKI, Stefan. NoSQL Evaluation: A Use Case Oriented Survey. University Of Bayreuth,
Germany, 2011.
● NAYAK, Ameya; PORIYA, Anil; POOJARY, Dikshay. Type of NOSQL Databases and its
Comparison with Relational Databases. International Journal Of Applied Information Systems.
New York, p. 16-19. Mar. 2013.
● SOUZA, Vanessa Cristina Oliveira de; SANTOS, Marcus Vinícius Carli dos. Amadurecimento,
Consolidação e Performance de SGBDs NoSQL: Estudo Comparativo. XI Brazilian Symposium
On Information System. Itajubá, p. 235-242. May 2015.
● ToughtWorks Disponível em: www.thoughtworks.com/pt/insights/blog/nosql-databases-overview