Escalabilidade, as modas, (No)SQL

98
Escalabilidade, as modas e (No)SQL Fernando Ike

description

Apresentação na PGBR2011

Transcript of Escalabilidade, as modas, (No)SQL

Page 1: Escalabilidade, as modas, (No)SQL

Escalabilidade, as modas e (No)SQL

Fernando Ike

Page 2: Escalabilidade, as modas, (No)SQL
Page 3: Escalabilidade, as modas, (No)SQL
Page 4: Escalabilidade, as modas, (No)SQL

SQL

Page 5: Escalabilidade, as modas, (No)SQL
Page 6: Escalabilidade, as modas, (No)SQL
Page 7: Escalabilidade, as modas, (No)SQL

SQL

Page 8: Escalabilidade, as modas, (No)SQL

Por que?

Page 9: Escalabilidade, as modas, (No)SQL

Bala de Prata

Page 10: Escalabilidade, as modas, (No)SQL

Bala de Prata

● + de 20 anos como “A” solução

● ORM (Object-relational mapping)

● Transação

● Chave Composta

● Chave Estrangeira

● Porto seguro (ACID)

● Fácil representação (Entidade-Relacional)

● Padronização (SQL)

Page 11: Escalabilidade, as modas, (No)SQL

BIG DATA, 1980

Page 12: Escalabilidade, as modas, (No)SQL

Meu trabalho com BIG DATA...

Page 13: Escalabilidade, as modas, (No)SQL

Meu trabalho com BIG DATA...

210 Terabytes/Mês

Page 14: Escalabilidade, as modas, (No)SQL
Page 15: Escalabilidade, as modas, (No)SQL

Meu trabalho com BIG DATA...

210 Terabytes/Mês

2,5 Petabyte/Ano

Page 16: Escalabilidade, as modas, (No)SQL
Page 17: Escalabilidade, as modas, (No)SQL
Page 18: Escalabilidade, as modas, (No)SQL
Page 19: Escalabilidade, as modas, (No)SQL
Page 20: Escalabilidade, as modas, (No)SQL
Page 21: Escalabilidade, as modas, (No)SQL

Internet das “Coisas”

Page 22: Escalabilidade, as modas, (No)SQL

Internet das “Coisas”

Page 23: Escalabilidade, as modas, (No)SQL

Geotagging

GPS

RFID

Near Field Communication

Machine2Machine

Object Generated Content (OGC)

IPV6

Tecnocoisas

Page 24: Escalabilidade, as modas, (No)SQL

8.000.000.000 de “coisas”

Em 2011...

Page 25: Escalabilidade, as modas, (No)SQL

Você gera (produz/consome)

11 Gigabytes/mês de dados

Page 26: Escalabilidade, as modas, (No)SQL

2.000.000.000

internautas

...em 2011...

Page 27: Escalabilidade, as modas, (No)SQL

2361183241434822606848

bytes

...em 2011...

Page 28: Escalabilidade, as modas, (No)SQL

2.147.483.648 terabyte

...em 2011...

Page 29: Escalabilidade, as modas, (No)SQL

2 zettabyte

...em 2011...

Page 30: Escalabilidade, as modas, (No)SQL
Page 31: Escalabilidade, as modas, (No)SQL

● Logs

● RFID

● Redes sociais

● Textos e documentos

Page 32: Escalabilidade, as modas, (No)SQL

● Indexação p/ pesquisa

● Dados científicos

● Imagens, áudios e vídeos

● Comércio eletrônico

Page 33: Escalabilidade, as modas, (No)SQL

BIG DATA

Page 34: Escalabilidade, as modas, (No)SQL

Um montão de dados

Page 35: Escalabilidade, as modas, (No)SQL
Page 36: Escalabilidade, as modas, (No)SQL

Big Data são base de dados de grande

volume e processamento analítico

executado rapidamente, sendo muitas

vezes dados não estruturados.

Page 37: Escalabilidade, as modas, (No)SQL
Page 38: Escalabilidade, as modas, (No)SQL
Page 39: Escalabilidade, as modas, (No)SQL

NoSQL

Page 40: Escalabilidade, as modas, (No)SQL
Page 41: Escalabilidade, as modas, (No)SQL
Page 42: Escalabilidade, as modas, (No)SQL

● Atomicity

● Consistency

● Isolation

● Durability

X

● Basically available

● Soft state

● Eventually consistent

Page 43: Escalabilidade, as modas, (No)SQL

Francesco Rizzi

NoSQL

Page 44: Escalabilidade, as modas, (No)SQL

Francesco Rizzi

SQL

Page 45: Escalabilidade, as modas, (No)SQL

Not onlySQL

Page 46: Escalabilidade, as modas, (No)SQL
Page 47: Escalabilidade, as modas, (No)SQL

Tipos

● Chave/Valor

● Grafo

● Orientado à Documentos

● Orientado à Coluna

Page 48: Escalabilidade, as modas, (No)SQL
Page 49: Escalabilidade, as modas, (No)SQL

Chave/Valor

Page 50: Escalabilidade, as modas, (No)SQL

Chave/Valor

chave valor[100,99,97,96][100,99,98][100,99][100]

user:11:feeduser:22:feeduser:33:feeduser:44:feed

Page 51: Escalabilidade, as modas, (No)SQL

Chave/Valor

Page 52: Escalabilidade, as modas, (No)SQL

Grafo

Page 53: Escalabilidade, as modas, (No)SQL

Grafo

Page 54: Escalabilidade, as modas, (No)SQL

Grafo

Page 55: Escalabilidade, as modas, (No)SQL

Grafo

Page 56: Escalabilidade, as modas, (No)SQL

Orientado à Documento

Page 57: Escalabilidade, as modas, (No)SQL

Orientado à Documento

{

"id": 1,

"name": "Foo",

"price": 123,

"tags": ["Bar","Eek"],

"stock": { "warehouse":300, "retail":20 }

}

Page 58: Escalabilidade, as modas, (No)SQL

Orientado à Coluna

Page 59: Escalabilidade, as modas, (No)SQL

Orientado à Coluna

Page 60: Escalabilidade, as modas, (No)SQL

NewSQL

● Em memória● ACID● Particionamento

horizontal● Chave estrangeira

somente na mesma instância

Page 61: Escalabilidade, as modas, (No)SQL

Nova Bala de Prata?

● Visualização/Gerenciamento mais “pobre”

● Maior facilidade de replicação, particionamento, balanceamento de carga

● “Mais entendível” para as equipes de desenvolvimento

● Sem pradonização de linguagem de “banco”

Page 62: Escalabilidade, as modas, (No)SQL

...as a Service

Page 63: Escalabilidade, as modas, (No)SQL

...as a Service

Infrastructure as a Service

Page 64: Escalabilidade, as modas, (No)SQL

...as a Service

Platform as a Service

Page 65: Escalabilidade, as modas, (No)SQL

...as a Service

Software as a Service

Page 66: Escalabilidade, as modas, (No)SQL

...as a Service

Infrastructure as a Service

Platform as a Service

Software as a Service

Page 67: Escalabilidade, as modas, (No)SQL
Page 68: Escalabilidade, as modas, (No)SQL
Page 69: Escalabilidade, as modas, (No)SQL

● The network is reliable

● Latency is zero

● Bandwidth is infinite

● The network is secure

● Topology doesn't change

● There is one administrator

● Transport cost is zero

● The network is homogeneous

Lendas sobre a “Nuvem”Peter Deutsch

Page 70: Escalabilidade, as modas, (No)SQL

● Não escalável (um pouco mais trabalhoso)

● In-memory

● Normalização

Lendas sobre banco SQL

Page 71: Escalabilidade, as modas, (No)SQL

Database as a Service

Page 72: Escalabilidade, as modas, (No)SQL

Elefante na nuvem

● AWS ● Rackspace● Heruko● Scalr● VFabric

Page 73: Escalabilidade, as modas, (No)SQL

Elefante na nuvem

● Yahoo ● Sony● ISS (NASA)● Reddit● OpenStreetMap● MySpace● Skype● NTT

Page 74: Escalabilidade, as modas, (No)SQL

Bancos Federados

Page 75: Escalabilidade, as modas, (No)SQL

Foreign Data Wrapper

Page 76: Escalabilidade, as modas, (No)SQL

SQL /MED – Management of External Data

PostgreSQL + Oracle

PostgreSQL + Redis

PostgreSQL + CouchDB

PostgreSQL + Redis + CouchDB

PostgreSQL + Twitter

Page 77: Escalabilidade, as modas, (No)SQL

PL/Proxy + PgBouncer (Skype)

Page 78: Escalabilidade, as modas, (No)SQL

Postgres Cloud Server

● Versão da EnterpriseDB

● Arquitetura base é proxy, failover automático, load balance, streaming replication

● Fácil implantação e crescimento

Page 79: Escalabilidade, as modas, (No)SQL
Page 80: Escalabilidade, as modas, (No)SQL

Postgres-XC

Page 81: Escalabilidade, as modas, (No)SQL

HaddopDB

● Híbrido de banco relacional e Orientado à Coluna

● Backend em PostgreSQL ou MySQL

● Criado pela Universidade de Yale

Page 82: Escalabilidade, as modas, (No)SQL

PgMemcached

Page 83: Escalabilidade, as modas, (No)SQL

PostreSQL(contrib) + HBase

Page 84: Escalabilidade, as modas, (No)SQL

UNLOGGED TABLES

Page 85: Escalabilidade, as modas, (No)SQL
Page 86: Escalabilidade, as modas, (No)SQL
Page 87: Escalabilidade, as modas, (No)SQL

Sistemas mais complexos

Page 88: Escalabilidade, as modas, (No)SQL

Sistemas projetados desde o início para escalabilidade

ou

Planejar modificações para de Sistemas para ter

escalabilidade

Page 89: Escalabilidade, as modas, (No)SQL

Soluções híbridas

Cache

NoSQL

SQL

virtualização na nuvem

servidores/storages físicos

Page 90: Escalabilidade, as modas, (No)SQL

Scale Out para servidores

e

armazenamento (Storage)

Hardware commoditty

Page 91: Escalabilidade, as modas, (No)SQL

Problemas de performance,

arquitetura e/ou

escalabilidade terão uma

complexidade maior para

resolver.

Page 92: Escalabilidade, as modas, (No)SQL

Fim do DBA, devels, sysadmins...

Page 93: Escalabilidade, as modas, (No)SQL

Fim do DBA, devels, sysadmins...

● Estereótipo do problema definirá a arquitetura

de dados e quer um profissional multidisciplinar

Page 94: Escalabilidade, as modas, (No)SQL

Fim do DBA, devels, sysadmins...

● Tipo do problema definirá a arquitetura de

dados e quer um profissional multidisciplinar

● Sistemas: Cloud (PaaS, IaaS, Saas, Dbaas) + Rede + SO + Algorítimos = integração

Page 95: Escalabilidade, as modas, (No)SQL
Page 96: Escalabilidade, as modas, (No)SQL

BIG DATA NEEDS BIG (QUALIFIED) PROFESSIONALS

Fernando Imbroisi

Page 97: Escalabilidade, as modas, (No)SQL

Obrigado

Page 98: Escalabilidade, as modas, (No)SQL

@fernandoike

fernando.ike at gmail.com

http://midstorm.org/~fike/weblog