O documento discute diferentes opções para persistência de dados, incluindo memória, cache, arquivos, rede, bancos de dados e fita. Cada opção é analisada considerando vantagens como desempenho e desvantagens como confiabilidade. O documento recomenda qual opção usar dependendo do tipo e necessidade dos dados, como performance de consulta versus sobrevivência ao reinício.
11. +
• Fácil acesso a partir da
implicação
• Utilização intuitiva
• Rápido
• Muito rápido.
-
• Armazenamento local
• Não resiste ao reinicio da
aplicação
• Dependente da sessão
• Facilmente corrompido
12. Quando utilizar?
• Sempre que possível
• Dados que não precisem ser persistido em caso de reinicio
da aplicação
• Dados com um escopo pequeno de utilização
• Dados pequenos
14. +
• Possibilidade de
unificação de dados
• Possível resistir ao
reinicio da aplicação.
• Configuração de
durabilidade do dado.
-
• Extremamente
configurável
• De maior complexidade
de implementação.
• Não implementa a noção
de transação
• Possíveis problema de
concorrência.
• Exige drive.
15. Quando utilizar?
• Dados que não são alterados com frequência mas muito
consultados
• Dados que que seriam armazenados em memoria mas que
precisam estar distribuídos entre varias aplicações.
• Dados que precisem de algum tipo de sobreviver ao reinicio
da aplicação mas que não sejam de longa duração.
17. +
• Fácil acesso a partir
da aplicação
• De alta
granularidade de
informação
• Possibilidade de
utilização de dados
formatados
-
• Não validação de
formato
• Dependente do
sistema de arquivos
• Lento
• Sistema de
permissões
18. Quando utilizar?
• Sempre que for possível. O sistema de arquivos é seu amigo
• Armazenamento de informações locais.
• Informações relevantes apenas a aquela instancia da
aplicação.
• Dados que precisem resistir a reinicialização da aplicação
20. O que é diferente?
• Dados pertinentes a aplicação
• Configurações da aplicação que não sejam alteradas com
frequência.
• Configurações que quando alteradas envolvam o reinicio do
serviço
• Configurações que variem pela servidor no qual a aplicação
está instalada.
24. +
• Dados possíveis de
se centralizar
• Fácil alteração de
esquema.
• Inter-operavel.
-
• Baixo índice de
confiança em
disponibilidade
• Baixa performance
25. Quando utilizar?
• Dados com um nível de consulta alto!
• Dados que exigem performance mas centralização
• Consultas que podem ser distribuídas.
• Dados não essenciais.
27. +
• Longo tempo de
persistência
• Facilidade de
consulta
• Dados estruturados
• Ligação entre dados
• Configuração
centralizada
-
• Baixo nível de
desempenho
• Dependência de
rede
• Aumento de
complexidade da
aplicação
• Manutenção de
drivers
31. Quando utilizar?
• Dados com um nível de consulta alto!
• Dados que exigem performance mas centralização
• Consultas que podem ser distribuídas.
• Dados não essenciais. (BETA)
• MAP/REDUCE
33. +
• Longuíssimo tempo
de persistência
• Baixo custo de
armazenamento
-
• Dificuldade de
tempo de consulta
• Escrita sequencial
• Leitura sequencial
34. Quando utilizar?
• Dados históricos
• Dados com um volume muito grande que não precisem de
consultas frequentes.
• Backups