persistência poliglota: indo além do sql
TRANSCRIPT
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!