banco de dados nas nuvens - aula 1

32
Banco de Dados em Nuvem Aula 1 - Conceitos básicos Luiz Henrique Zambom Santana Prof. Dr. Ronaldo dos Santos Mello

Upload: luiz-henrique-zambom-santana

Post on 28-Jan-2018

26 views

Category:

Internet


2 download

TRANSCRIPT

Page 1: Banco de dados nas nuvens - aula 1

Banco de Dados em NuvemAula 1 - Conceitos básicos

Luiz Henrique Zambom SantanaProf. Dr. Ronaldo dos Santos Mello

Page 2: Banco de dados nas nuvens - aula 1

Agenda

● Computação em nuvem

● Banco de dados em nuvens

● Vantagens e desvantagens

● Principais fornecedores

● Consistência

● Alta disponibilidade

● SQL nas nuvens

● NoSQL nas nuvens

● Exercício

● Conclusões

2

Page 3: Banco de dados nas nuvens - aula 1

Computação em nuvem

● Provisionamento dinâmico

de recursos sob demanda

● Escalabilidade

● Cobrança baseada no uso

do recurso ao invés de uma

taxa fixa

● Distribuição geográfica dos

recursos

3

Page 4: Banco de dados nas nuvens - aula 1

Computação em nuvem

4

● SaaS é caracterizado

principalmente pela não-aquisição

de licenças de software

● PaaS envolve um ambiente virtual

para criação, hospedagem e

controle de softwares e bancos de

dados

● IaaS apenas abstraí aspectos

relacionados à parte física de

servidores e redes

Page 5: Banco de dados nas nuvens - aula 1

Computação em nuvem

5

Page 6: Banco de dados nas nuvens - aula 1

Banco de dados nas nuvens

● Variação da computação nas nuvens para bancos de dados

● Vantagens○ Menor TCO

○ Facilidade de manutenção

○ Maior elasticidade

○ Menor investimento inicial

● Desvantagens○ Maior percepção de custo

○ Segurança e privacidade (dados enviados para um provedor externo)

6

Page 7: Banco de dados nas nuvens - aula 1

Banco de dados como serviço

● Virtualização: permite que banco de

dados seja instalado em uma máquina

virtual

● DBaaS: fornece uma plataforma flexível

escalável, sob demanda que está

orientada para o autosserviço e

gerenciamento fácil, particularmente em

termos de provisionamento de um

negócio no próprio ambiente

7

Page 8: Banco de dados nas nuvens - aula 1

Principais fornecedores

8

Page 9: Banco de dados nas nuvens - aula 1

Como se diferenciam

9

● Ofertas de produtos (NoSQL, SQL, produtos)

● Modelo de cobrança

● Serviços agregados

● Apoio na migração de on-prem para dbaas

● Data centers (Redis Labs não tem datacenter no Brasil)

Page 10: Banco de dados nas nuvens - aula 1

Como se diferenciam

(AWS)

10

Page 11: Banco de dados nas nuvens - aula 1

Como se diferenciam

(Rackspace)

11

Page 12: Banco de dados nas nuvens - aula 1

Como se diferenciam (Oracle)

12

Page 13: Banco de dados nas nuvens - aula 1

DB-Ranking

13

Page 14: Banco de dados nas nuvens - aula 1

SQL nas nuvens

14

Fornecedor SGBDs

Microsoft Azure SQL Database, MySQL Database1

Amazon AWS RDS (MySQL, PostgreSQL, Oracle, Microsoft SQL)

Google Cloud Cloud SQL

RedHat OpenShift PostgreSQL, MySQL, SQLite

IBM Bluemix DB2, MySQL1, PostgreSQL1

Oracle Database

MongoLab –

Heroku PostgreSQL

RedisLabs –

ClearDB MySQL

Page 15: Banco de dados nas nuvens - aula 1

NoSQL nas nuvens

15

Fornecedor NoSQL

Microsoft Azure Azure DocumentDB, MongoDB1

Amazon AWS DynamoDB

Google Cloud Cloud Datastore, Cloud Bigtable

RedHat OpenShift MongoDB

IBM Bluemix Cloudant, MongoDB1

Oracle NoSQL Database2

MongoLab MongoDB

Heroku PostgreSQL

RedisLabs –

ClearDB –

Page 16: Banco de dados nas nuvens - aula 1

SQL versus NoSQL

Not only SQLSadalage e Fowler, 2012http://martinfowler.com/books/nosql.html

“Banco de Dados Relacional será nota de rodapé na história”

Nathan Marz, 2014http://goo.gl/WGXvPy

Page 17: Banco de dados nas nuvens - aula 1

SQL and NoSQL will merge “Not yet SQL”Michael Stonebraker, 2015https://www.youtube.com/watch?v=KRcecxdGxvQ

Page 18: Banco de dados nas nuvens - aula 1
Page 19: Banco de dados nas nuvens - aula 1

Diferença de desempenho pode ser brutal

• iColabora

Page 20: Banco de dados nas nuvens - aula 1

CAP e BASE

20

Page 21: Banco de dados nas nuvens - aula 1

Consistência eventual (Cassandra)

21

Page 22: Banco de dados nas nuvens - aula 1

Consistência eventual (MongoDB)

22

Page 23: Banco de dados nas nuvens - aula 1

Características NoSQL para Computação em Nuvem

● Particionamento horizontal

23

Page 24: Banco de dados nas nuvens - aula 1

Características NoSQL para Computação em Nuvem

● Particionamento vertical

24

Page 25: Banco de dados nas nuvens - aula 1

Alta disponibilidade

25

Page 26: Banco de dados nas nuvens - aula 1

NoSQL escalabilidade

26

Page 27: Banco de dados nas nuvens - aula 1

Persistência poliglota

27

Page 28: Banco de dados nas nuvens - aula 1

“Sem tamanho único”

• “a panoply of data models,

and they typically operate on

flexible storage formats such

as JSON”

• “Increasingly, we see

applications that deploy

multiple engines, resulting in

a need to join data across

systems.”

Page 29: Banco de dados nas nuvens - aula 1

Vantagens e desvantagens

(em relação ao SQL)

Vantagens Desvantagens

Maior desempenho Transações limitadas

Maior escalabilidade Limitação nas consultas*

Modelos de dados mais ricos Consistência relaxada

Schema-less “Dados não relacionados”

Page 30: Banco de dados nas nuvens - aula 1

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

Page 31: Banco de dados nas nuvens - aula 1

Conclusões

● Computação em nuvem é a

realidade para novas empresas e

startups, mas a maioria das

instalações ainda é on-premises

● As opções são tantas que é fácil

ficar perdido e/ou não atingir

soluções ótimas

31

Page 32: Banco de dados nas nuvens - aula 1

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

32