Sistemas
NoSQL Valor
Chave-
Luiz André de Jesus Silva
Motivação

A cada instante, uma quantidade imensa de dado é
gerada
› Dados não-estruturados ou semi-estruturados

Requisitos diferenciados das aplicações
› Escalabilidade sob demanda
› Elevado grau de disponibilidade

Modelo Relacional é antigo
› Fixo
› Estruturado previamente

Resultado: modelo relacional já não satisfazia as
necessidades das aplicações
Bancos de Dados NoSQL

NoSQL -> Not Only SQL

Criados para atender ao
gerenciamento de grandes volumes de
dados

Focados no desempenho
› Mesmo que abrindo mão da consistência
Características dos Bancos de
Dados NoSQL:
Escalabilidade Horizontal

Crescimento no volume dos dados não
acarreta em maior capacidade de
processamento e e armazenamento das
máquinas

Ocorre o aumento do número de
máquinas disponíveis

Possibilita mais unidades de processamento
Características dos Bancos de
Dados NoSQL:
Ausência de Esquema ou
Esquema Flexível

Facilita a escalabilidade

Aumenta a disponibilidade

Porém não existe garantia de integridade.

Ainda mais marcante nos BDs NoSQL do
tipo chave-valor.
Características dos Bancos de
Dados NoSQL:
Suporte Nativo a Replicação

Diminui o tempo gasto para recuperar
informações
› Os dados estão em vários lugares

Modelo Master-Slave
› Cada escrita resulta em N escritas, N é o número de
escravos
› Escrita feita no nó mestre e replicada em cada nó
escravo
› Leitura mais rápida, mas escrita é um gargalo para
grandes volumes de dados

Modelo Multi-Master
› Existem vários nós mestres, diminuindo o gargalo ou
Características dos Bancos de
Dados NoSQL:
Facilidade de Acesso aos
Dados

O foco não é como dado é
armazenado, mas sim como ele pode
ser recuperado eficientemente

Através das APIs desenvolvidas para
facilitar o acesso as informações.

Qualquer aplicação pode utilizar os
dados de forma rápida e eficiente
Características dos Bancos de
Dados NoSQL:
Consistência Eventual

Em prol do desempenho, a consistência entre
os diversos pontos de distribuição de dados
nem sempre é mantida

Baseada no Teorema CAP
› Consistência, disponibilidade e tolerância a partição
› A cada momento, só é possível garantir duas das
três

Geralmente a consistência é deixada de lado

O sistema deve ser projetado para tolerar
inconsistências temporárias para manter a
disponibilidade
Bancos de Dados NoSQL
Modelo Chave-Valor
Bancos de Dados NoSQL
Modelo Chave-Valor

Estrutura bastante simples

Dentre os tipos de BDs NoSQL, é o que mais
aguenta carga de dados

Dados armazenados em uma tabela hash
gigante

Um chave representa uma lista de valores
de atributos
Bancos de Dados NoSQL
Modelo Chave-Valor

Modelo de fácil implementação

Dados são rapidamente acessados pela
chave.

Duas operações para manipulação:
› Get e Set

Porém não permite consultas mais
complexas (ainda)
Amazon DynamoDB
Amazon DynamoDB

Banco de Dados as a Service (DaaS)
› Oferecido como serviço, gerenciado pela Amazon

Sem overhead de administração, sem
complexidade operacional, facilmente escalável

Centenas de milhares de requisições por segundo
› Latência em milisegundos
› Armazena as informações em discos SSD

Alta disponibilidade, gratuito até certo limite

Fácil de criar. Fácil de ajustar.
Insira o logotipo aqui
Insira o logotipo aqui
Insira o logotipo aqui
Criação de tabela através
da API
Amazon DynamoDB
Amazon DynamoDB

Podemos usar o hadoop para consultas
mais complexas
Conclusão
Bibliografia

http://www.addlabs.uff.br/sbsc_site/SBSC20
11_NoSQL.pdf

http://www.aerospike.com/what-is-a-nosqlkey-value-store/

http://nosql-database.org/

http://awshub.com.br/resources/amazondynamodb-uma-introducao/
Dúvidas
Download

Sistemas NoSQL - Chave-Valor Luiz André de Jesus Silva A cada