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.

questionAnswers(9)

yourAnswerToTheQuestion