Top Banner
Banco de Dados em Nuvem Aula 3 - Uma visão sobre NewSQL Luiz Henrique Zambom Santana Prof. Dr. Ronaldo dos Santos Mello
24

Banco de dados nas nuvens - aula 3

Jan 28, 2018

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Banco de dados nas nuvens - aula 3

Banco de Dados em NuvemAula 3 - Uma visão sobre NewSQL

Luiz Henrique Zambom SantanaProf. Dr. Ronaldo dos Santos Mello

Page 2: Banco de dados nas nuvens - aula 3

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/database2

Page 3: Banco de dados nas nuvens - aula 3

Exercício

3

Page 4: Banco de dados nas nuvens - aula 3

Exercício - Modelar considerando múltiplos modelos

4

Page 5: Banco de dados nas nuvens - aula 3

Agenda

● NoSQL vs. NewSQL

● Perspectiva para NewSQL

● HStore

● VoltDB

● Exercício

● Conclusões

5

Page 6: Banco de dados nas nuvens - aula 3

Problema NoSQL: Persistência poliglota

6

Page 7: Banco de dados nas nuvens - aula 3

Problema SQL: múltiplos gargalos

7

Page 8: Banco de dados nas nuvens - aula 3

NewSQL: comparação

8

Page 9: Banco de dados nas nuvens - aula 3

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

Page 10: Banco de dados nas nuvens - aula 3

Share nothing

10

Page 11: Banco de dados nas nuvens - aula 3

NewSQL: como?

● Particionamento○ Sharding

● Controle de concorrência por agendamento ou multi-versões

● Indexação

● Replicação

11

Page 12: Banco de dados nas nuvens - aula 3

NoSQL vs. NewSQL: produtos

12

Page 13: Banco de dados nas nuvens - aula 3

Mercado NewSQL

13

Page 14: Banco de dados nas nuvens - aula 3

HStore

14

Page 15: Banco de dados nas nuvens - aula 3

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

Page 16: Banco de dados nas nuvens - aula 3

K-safety

16

● A segurança K é uma medida

de quantas cópias dos dados

existem no cluster

Page 17: Banco de dados nas nuvens - aula 3

VoltDB: console

17

Page 18: Banco de dados nas nuvens - aula 3

VoltDB

18

Page 19: Banco de dados nas nuvens - aula 3

VoltDB: arquitetura

19

Page 20: Banco de dados nas nuvens - aula 3

VoltDB: integrações

20

Page 21: Banco de dados nas nuvens - aula 3

Command logging

21

Page 22: Banco de dados nas nuvens - aula 3

Recuperação de desastre

22

Page 23: Banco de dados nas nuvens - aula 3

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

Page 24: Banco de dados nas nuvens - aula 3

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