E agora: que tipo de Banco de Dados devo usar?

60
E agora: que tipo de Banco de Dados devo usar? Fabíola Souza Pereira

description

Apresentação FISL14 - discute acerca da escolha correta do banco de dados, de acordo com os requisitos do modelo de dados.

Transcript of E agora: que tipo de Banco de Dados devo usar?

Page 1: E agora: que tipo de Banco de Dados devo usar?

E agora: que tipo de Banco de Dados devo usar?

Fabíola Souza Pereira

Page 2: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

um pouco sobre mim…

Mas antes…

Page 3: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Quem é Fabíola?

Page 4: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Quem é Fabíola?

Page 5: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Quem é Fabíola?

Page 6: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Quem é Fabíola?

Page 7: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 8: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 9: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Análise de Requisitos

Conceitos

Categorias de BDs & Ferramentas

Metodologia para Arquitetura de Dados

Estudo de Caso

Conclusão

Page 10: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Análise de Requisitos=

Fase das Perguntas

Page 11: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 12: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 13: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 14: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Análise de Requisitos

Conceitos

Categorias de BDs & Ferramentas

Metodologia para Arquitetura de Dados

Estudo de Caso

Conclusão

Page 15: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

A C I DAtomicidade Isolamento DurabilidadeConsistência

Page 16: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Teorema CAP

Page 17: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

CONSISTENCY

AVAILABILITY

PARTITIONTOLERANCE

Page 18: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

CONSISTENCY

AVAILABILITY

PARTITIONTOLERANCE

Todos os clientes têm

sempre a MESMA

VISÃO do sistema

(commits atômicos)

Page 19: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

CONSISTENCY

AVAILABILITY

PARTITIONTOLERANCE

O cliente pode

SEMPRE ler e

escrever

Page 20: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

CONSISTENCY

AVAILABILITY

PARTITIONTOLERANCE

O sistema SEMPRE

FUNCIONA mesmo que

haja “partições” –

quebra de comunicação

entre nós

Page 21: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

CONSISTENCY

AVAILABILITY

PARTITIONTOLERANCE

Escolhaduas!

Page 22: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 23: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

B A S EBasically Soft

stateEventuallyconsistent

Available

Page 24: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 25: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 26: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 27: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Análise de Requisitos

Conceitos

Categorias de BDs & Ferramentas

Metodologia para Arquitetura de Dados

Estudo de Caso

Conclusão

Page 28: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 29: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 30: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

RelacionalChave-valor

GrafoOrientado a

Coluna/Tabular

Orientado a Documento

Page 31: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Relacional

Chave-valor

Grafo

Orientado a Coluna/Tabular Orientado a

Documento

Complexidade dos Dados

Vo

lum

e

Page 32: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

SGBDRs (MySQL, PostgreSQL)

Cassandra, BigTable,Hbase, Hypertable

Dynamo, MemcacheDB

CouchDB,MongoDB,

Riak

Neo4j

Page 33: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

CONSISTENCY

AVAILABILITY

PARTITIONTOLERANCE

Escolhaduas!

CASGBDRs

CPBigTable, Hypertable, HBase, MongoDB, MemcacheDB

APCassandra, Riak, Dynam

o

Page 34: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

NoSQL = Não-relacional? Relacional = SQL?

Page 35: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

NoSQL e SQL referem-se a linguagens de

consulta

Relacional e Não-relacional referem-

se a modelo de dados

Page 36: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Análise de Requisitos

Conceitos

Categorias de BDs & Ferramentas

Metodologia para Arquitetura de Dados

Estudo de Caso

Conclusão

Page 37: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Fase das Perguntas

Fase dos Conceitos

Fase das Respostas

Page 38: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Requisitos

Conceitos

Escolha de Ferramentas

Page 39: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Análise de Requisitos

Conceitos

Categorias de BDs & Ferramentas

Metodologia para Arquitetura de Dados

Estudo de Caso

Conclusão

Page 40: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

59 anos em operação

Mais de 1900 associados

Mais de 800K clientes

Page 41: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Concessão – 87 cidades em 4 estados

Área de autorização – escritórios expandindo em estados importantes

Dados e voz

Serviços de TI

Negócios

Varejo

Page 42: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 43: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Que tal um aplicativo que todos osdias, às 8h da manhã, faz uma ligação

para mim e toca minha músicafavorita?

Page 44: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Page 45: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Envia MMS

Envia SMS

Tradutor

CapturaConteúdo

Web Service

Envial Email

Ao receberSMS

Ao receberMMS

Math

Faz ligação

Get e PostDTMF

Banco deDados

Concat

Toca áudio

Internet

Utils

Storage

Telecom

Page 46: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

CapturaConteúdo

Faz Ligação

Toca áudio

Page 47: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

App Engine

Components

Event Handler

Serv

ice

s

Mo

nit

ori

ng

and

Sta

tist

ics

Logs

an

d S

DR

s

PortalSCE

Web ServicesGadgets

Co

reo

Ide

nti

ty S

erv

er

3rd Party and Web AppsUsers

COREO Platform

File Manager

Scheduler

WS Broker

DB Manager

Telecom PlatformsSDP

Page 48: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

E agora: que tipo de Banco de Dados devo usar no projeto COREO?

Page 49: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

1) Teremos dados estruturados?

2) Precisaremos de performance?

3) Teremos grande volume de dados?

4) Precisaremos de um mecanismo de cache de dados da sessão!

5) Precisaremos de um mecanismo de busca performático parainterface web!

Page 50: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

6) Precisaremos de alta disponibilidade?

7) Precisaremos de partition tolerance?

8) Quais dados precisam de consistência?

9) Quais dados serão utilizados para BI e Analytics?

Page 51: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

1) Teremos dados estruturados?

Cadastro de feedbacks do usuário

Armazenamento de transações de recargas de créditos

Page 52: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

2) Precisaremos de performance?

Durante execução de aplicativos via AppEngine

O scheduler deve ser performático, pois espera-se grande volume de agendamentos

Page 53: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

3) Teremos grande volume de dados?

Plataforma dinâmica e para Web

Armazenamento de logs de execução de aplicativos

Page 54: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

E assim por diante…

Page 55: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Estruturado, relacional, SQL

Backend de Serviços

Performance, volume de dados

AppEngine

Armazenar sessões

Portal

Performance

Listagem de Apps

Volume, nãoestruturado

Logs de Apps

Volume, performance

Scheduler

Base centralizada

Dados de Usuários

Page 56: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Estruturado, relacional, SQL

ORACLE

Performance, volume de dados

CASSANDRA

Armazenar sessões

MEMCACHED

Performance

LUCENE/SOLR

Volume, nãoestruturado

HADOOP

Volume, performance

CASSANDRA

Base centralizada

OpenLDAP

Page 57: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Armazenamento de Dados no COREO

Page 58: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Análise de Requisitos

Conceitos

Categorias de BDs & Ferramentas

Metodologia para Arquitetura de Dados

Estudo de Caso

Conclusão

Page 59: E agora: que tipo de Banco de Dados devo usar?

FISL 14 – Julho 2013

Analise seus requisitos

Entenda cada conceito

Conheça as ferramentas

Page 60: E agora: que tipo de Banco de Dados devo usar?

Obrigada!

[email protected]

@fabiolas

Fabíola Fernandes

fabiola.fernandes.334