O que eu gostaria de fazer / ter é:
Algum tipo de aplicativo / driver que cria uma unidade de RAM / partição que é realmente atribuída uma letra de unidade (por exemplo, D :). Essa letra de unidade deve ser baseada em / espelhamento de um diretório específico de um diretório físico (por exemplo, C: \ MyDBData).
Na inicialização do aplicativo / driver, eu esperaria que o aplicativo / driver lesse todos os arquivos do diretório na memória e bloqueie-os para evitar gravações nesses arquivos por outros aplicativos. Todos os arquivos estão disponíveis na unidade RAM. Cada ação de leitura pode então ser feita a partir da memória, o que eu acho que seria um grande aumento de desempenho. Qualquer gravação deve ser feita "write-through" para o diretório físico, ou talvez com buffer de no máximo 1 segundo. (Assim, no caso de perda de energia, as perdas seriam mínimas).
É claro que este aplicativo / driver precisaria de alguma RAM própria e criará uma pequena sobrecarga na carga da CPU. Ainda assim, espero um grande aumento no desempenho.
O que eu gostaria de usar é:
Para acelerar meu MySQL DB de 5 GB, gostaria de mover todas as tabelas para minha RAM de 8 GB.
E mesmo que o MySQL suporte tabelas de memória, as limitações estão me impedindo de alcançar isso. Por exemplo, campos de texto / blob não são permitidos em tabelas de heap.
Ainda é um palpite para mim se 8 GB de RAM é suficiente para uma unidade de 5 GB de RAM, a sobrecarga do aplicativo / driver mencionado, o próprio mysqld e o resto do sistema operacional. Mas posso considerar a atualização para 12 GB ou até 16 GB de RAM.
A minha pergunta é
Eu assumo que esta técnica já existe. Como é chamado, e onde posso encontrar uma boa implementação disso? (De preferência open source, para Windows)
E mesmo que as dicas sobre Mysql vs memory sejam bem-vindas, e talvez essa idéia não seja a melhor maneira de abordar o problema do Mysql, ainda gostaria de explorar a questão que tenho de directory-to-RAM.
EDITAR:
O que acabei de ler em uma pergunta semelhante é que isso é chamado de cache de sistema de arquivos e está presente no sistema operacional mais moderno. Mas se esse é o caminho a seguir, como instruir meu sistema operacional a aumentar o cache do sistema de arquivos e manter especificamente todo o diretório de 5 GB nesse cache?