Há muitas opções aqui. Primeiro, o NDB é Mecanismo de clusterização do MySQL, que armazena dados na memória. O NDB tem algumas limitações , no entanto.
memcached é uma solução popular que é frequentemente usada, mas requer a arquitetura do aplicativo para suportá-la.
Você pode ter tabelas MyISAM que você armazena especificamente dentro de um disco RAM, já que elas podem ser realocadas individualmente, diferentemente do InnoDB. Todo espaço de tabela do InnoDB teria que ser armazenado no disco RAM.
Você pode encontrar o mecanismo de memória mais adequado do que o meu RAM disco hack, no entanto. Eles também são mais limitados que outros mecanismos, já que não podem suportar BLOBs entre outras coisas. Para os dados a serem mantidos, você teria que ter um script de wrapper para despejar e restaurar os dados. Isso também introduz riscos aos dados, já que uma perda de energia, mesmo com scripts, resultaria em perda de dados.
Em última análise, você provavelmente se beneficiará mais de ajustar e otimizar corretamente o banco de dados e as consultas do MySQL. Um banco de dados MySQL com ajuste adequado utiliza o cache de memória.Há muitos recursos disponíveis sobre isso, tanto no Serverfault quanto na Internet como um todo. O MySQL tem um documento e aqui está um MySQL post de blog de desempenho , que são recursos muito úteis. Aqui está outro post onde eles têm uma fórmula para calcular o uso da memória do InnoDB.