Você está na página 1de 60

Persistncia Poliglota

Apresentao
Quando o SQL no d conta?
NOSQL no melhor que SQL!
Para cada problema, uma soluo
Cronograma
Como programar?
Casos de Uso
Cincia da Computao
Computao Mvel
Dev, analista, gerente...
+10 anos programando
- inmeros projetos entregues
- 5 anos com persistncia poliglota
- 2 anos com MongoDB
Quando o SQL no d conta?
NOSQL no melhor do que
SQL!
Entenda seu problema
Analise as opes
Escolha a ferramenta ideal

NoSQL no
melhor que
SQL!
Performance?
Armazenamento?
ndices?
Normalizao excessiva?
NoSQL no
melhor que
SQL!
Para cada problema, uma
soluo!
schema varivel?
informaes dispersas?
escalonamento?
NOSQL document-based
Para cada
problema,
uma soluo!
muitas agregaes?
muitas inseres?
escalonamento?
NOSQL column-based
Para cada
problema,
uma soluo!
velocidade?
dados temporrios?
escalonamento de ndices?
NOSQL key-value
Para cada
problema,
uma soluo!
relacionamentos complexos?
queries sobre relacionamentos?
grafos?
NOSQL graph-based
Para cada
problema,
uma soluo!
coleta de estatsticas temporais?
notificaes em tempo-real?
agregaes por instante?
NOSQL time-series database
Para cada
problema,
uma soluo!
mais de um modelo?
soluo tudo-em-um?
upgrade do SQL tradicional?
NOSQL multi-model
Para cada
problema,
uma soluo!
Como programar?
Algumas dicas:

1. Arquitetura em Camadas
2. Design Patterns
Como 3. Solues clssicas:
programar? a. DAO + Gateway + Factory Method + Abstract Factory
b. Repository + Dependency Injection + Inversion of
Control
c. ESB + SOA
Casos de Uso
Dados sensveis:
SQL Tradicional

Caso de Uso:
ecommerce
Dados sem estrutura:
document-based

Caso de Uso:
ecommerce
Dados temporrios:
key-value storage

Caso de Uso:
ecommerce
Relacionamentos:
graph-based

Caso de Uso:
ecommerce
Referncias
Dvidas?
Obrigado!

Você também pode gostar