Persistência Poliglota: Indo além do SQL

Preview:

Citation preview

Persistência Poliglota

Apresentação

Quando o SQL não dá conta?

NOSQL não é melhor que SQL!

Para cada problema, uma solução

Como programar?

Casos de Uso

Cronograma

Ciência da Computação

Computação Móvel

Dev, analista, gerente...

+10 anos programando

- inúmeros projetos entregues

- 5 anos com persistência poliglota

- 2 anos com MongoDB

Quando o SQL não dá conta?

NOSQL não é melhor do que SQL!

Entenda seu problema

Analise as opções

Escolha a ferramenta ideal

NoSQL não é melhor que

SQL!

Performance?

Armazenamento?

Índices?

Normalização excessiva?NoSQL não é melhor que

SQL!

Para cada problema, uma solução!

schema variável?

informações dispersas?

escalonamento?

NOSQL document-basedPara cada problema,

uma solução!

muitas agregações?

muitas inserções?

escalonamento?

NOSQL column-basedPara cada problema,

uma solução!

velocidade?

dados temporários?

escalonamento de índices?

NOSQL key-valuePara cada problema,

uma solução!

relacionamentos complexos?

queries sobre relacionamentos?

grafos?

NOSQL graph-basedPara cada problema,

uma solução!

coleta de estatísticas temporais?

notificações em tempo-real?

agregações por instante?

NOSQL time-series databasePara cada problema,

uma solução!

mais de um modelo?

solução tudo-em-um?

upgrade do SQL tradicional?

NOSQL multi-modelPara cada problema,

uma solução!

Como programar?

Como programar?

Algumas dicas:

1. Arquitetura em Camadas

2. Design Patterns

3. Soluções clássicas:

a. DAO + Gateway + Factory Method + Abstract Factory

b. Repository + Dependency Injection + Inversion of

Control

c. ESB + SOA

Casos de Uso

Caso de Uso: ecommerce

Dados sensíveis:

SQL Tradicional

Caso de Uso: ecommerce

Dados sem estrutura:

document-based

Caso de Uso: ecommerce

Dados temporários:

key-value storage

Caso de Uso: ecommerce

Relacionamentos:

graph-based

Referências

Dúvidas?

Obrigado!