Banco de Dados em Nuvem
Aula 3 - Uma visão sobre NewSQL
Luiz Henrique Zambom Santana
Prof. Dr. Ronaldo dos Santos Mello
Exercício
Escolher um provedor de nuvem, criar um banco de dados de preferência e
descrever suas características (e.g., modelo de dados, características não
funcionais, preço). Exemplos:
● https://cloud.google.com/sql/docs/
● https://aws.amazon.com/pt/rds/
● https://azure.microsoft.com/
● https://www.rackspace.comcloud/databases
● https://www.mongodb.com/cloud/atlas
● https://www.elastic.co/
● https://redislabs.com/products/redis-cloud/
● https://cloud.oracle.com/database 2
Exercício
3
Exercício - Modelar considerando múltiplos modelos
4
Agenda
● NoSQL vs. NewSQL
● Perspectiva para NewSQL
● HStore
● VoltDB
● Exercício
● Conclusões
5
Problema NoSQL: Persistência poliglota
6
Problema SQL: múltiplos gargalos
7
NewSQL: comparação
8
NewSQL: definições
● Definições
○ SQL como interface principal
○ Suporte a transações ACID
○ Sem lock no controle de concorrência
○ Alto desempenho
○ Arquitetura escalável (share nothing)
● In-memory
○ Alta
○ Baixa latência
○ Sem gerenciamento de bugger
○ Sem locks e latches
● HBase, Clustrix, NuoDB e VoltDB
9
Share nothing
10
NewSQL: como?
● Particionamento
○ Sharding
● Controle de concorrência por agendamento ou multi-versões
● Indexação
● Replicação
11
NoSQL vs. NewSQL: produtos
12
Mercado NewSQL
13
HStore
14
VoltDB
● Evolução do C-Store e H-Store
○ http://hstore.cs.brown.edu/documentation/faq/
● Visão:
○ VoltDB relies on horizontal partitioning
down to the individual hardware thread to
scale, k-safety (synchronous replication) to
provide high availability, and a
combination of continuous snapshots and
command logging for durability (crash
recovery)
15
K-safety
16
● A segurança K é uma medida
de quantas cópias dos dados
existem no cluster
VoltDB: console
17
VoltDB
18
VoltDB: arquitetura
19
VoltDB: integrações
20
Command logging
21
Recuperação de desastre
22
Exercício
Estudar o documento:
https://www.voltdb.com/wp-content/uploads/2017/05/VoltDB_for_Amazon_AWS_DS.pdf
Discutir as implicações do uso do VoltDB na nuvem, vantagens e desvantagens e
possíveis dificuldades do seu uso em produção.
23
Referências
● https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/
● https://www.databaselabs.io/database-as-a-service/hidden-costs-of-databases
24

Banco de dados nas nuvens - aula 3