Quando devo considerar o uso de um banco de dados de memória e qual é o problema a ser observado?
Eu só estava pensando que agora écomum ter RAM suficiente em seu servidor de banco de dados para armazenar em cache seu banco de dados completo porque é que o especialista embanco de dados de memória (por exemploTimesTen, Veja tambémPágina da Wikipedia) que foram todos a raiva há alguns anos atrás não sendo usado mais?
Parece que à medida que o tempo passa, nenhum banco de dados baseado em disco está sendo usado menos, por exemplo, a maioria dos aplicativos agora é construída em bancos de dados racionais convencionais. Eu teria esperado o oposto, já que a RAM está chegando perto de ser livre para muitos servidores.
Eu estou perguntando isso, como eu acabei de ler sobre a arquitetura de estouro de pilha e a página diz
Isso é significativo porque o banco de dados do Stack Overflow está quase totalmente na RAM e as junções ainda exigem um custo muito alto.
Mas eu não acho que isso seria um problema se "ponteiros" e "coleções" fossem usados em vez do btree normal. O Btree é muito inteligente para obter limites na velocidade de acesso ao disco, por exemplo, eles trocam o uso da CPU para reduzir o uso do disco. No entanto, agora temos que somar ram.
Mas ainda precisamos de banco de dados, como fazer o seu próprio
BloqueioDetecção de deadlockLog de transaçõesRecuperandoEtcÉ muito difícil.
@ S.Lott, Dado que todos nós gastamos muito tempo escolhendo índices, evitando junções e investigando problemas de desempenho de banco de dados. Deve haver um caminho melhor. Há alguns anos, nos disseram que o "banco de dados de memória" era o melhor caminho. Então, antes de começar a usar um, eu gostaria de saber por que outras pessoas não estão usando mais.
(É improvável que eu use o TimesTen, já que é caro (US $ 41.500,00 / processador) e eu não gosto de conversar com vendedores da Oracle - eu prefiro gastar meu tempo escrevendo código.)
Veja também:
Alternativa para o TimesTen no banco de dados de memóriaAlguém publicou uma comparação detalhada entre diferentes RDBMSs na memória??Atualizar:
Eu fiz esta perguntaLONGO tempo atrás, esses dias o Microsoft SQL Server tem "OLTP in-memory"é um mecanismo de banco de dados otimizado para memória integrado ao mecanismo do SQL Server. Não é barato, mas parece sermuito rápido para algumas cargas de trabalho.