banco de dados nas nuvens - aula 1

Post on 28-Jan-2018

26 Views

Category:

Internet

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Banco de Dados em NuvemAula 1 - Conceitos básicos

Luiz Henrique Zambom SantanaProf. Dr. Ronaldo dos Santos Mello

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

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

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

Computação em nuvem

5

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

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

Principais fornecedores

8

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)

Como se diferenciam

(AWS)

10

Como se diferenciam

(Rackspace)

11

Como se diferenciam (Oracle)

12

DB-Ranking

13

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

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 –

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

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

Diferença de desempenho pode ser brutal

• iColabora

CAP e BASE

20

Consistência eventual (Cassandra)

21

Consistência eventual (MongoDB)

22

Características NoSQL para Computação em Nuvem

● Particionamento horizontal

23

Características NoSQL para Computação em Nuvem

● Particionamento vertical

24

Alta disponibilidade

25

NoSQL escalabilidade

26

Persistência poliglota

27

“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.”

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”

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

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

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

top related