Existe um banco de dados SQL na memória que suporta replicação/clustering?
-
25-09-2019 - |
Pergunta
Livre e estável é o vencedor.
Meu plano é bastante trivial - basta colocar todos os dados na memória e usar o cluster sem alterar o código do aplicativo. Então, para persistência, eu poderia apenas despejar os dados de nós em um banco de dados regular de acesso ao disco.
A única coisa é que, como exijo o armazenamento na memória, não há possibilidade de replicação completa de dados. Eu gostaria de copiar apenas o esquema do banco de dados e esse banco de dados na memória gerencia todas as juntas de forma consistente para mim.
Agradeço antecipadamente!
ATUALIZAÇÃO: Encontrei um produto de código aberto que provavelmente atenda aos meus requisitos, é Voltdb
Solução
Sem interesse, algum motivo específico para que você 'exija' o armazenamento na memória e não pode usar apenas um servidor de banco de dados normal?
Outras dicas
O banco de dados H2 também suporta algum tipo de cluster.
Que tal o Oracle's Times dezhttp://www.oracle.com/technetwork/database/timesten/overview/index.htmlOu talvez Berkeley DB
Sua pergunta não está clara para mim. Você pode dar uma olhada em Timesten (agora de propriedade da Oracle), ele é baseado no SHMDB e fornece uma interface SQL.
O cluster MySQL também é um tipo de banco de dados em memória como quando você se compromete, significa que os dados estão na memória de dois nós e não são gravados no disco. Mas é claro que o MySQL Cluster escreverá todos os dados sobre o disco assíncrono para poder fazer backup e recuperar dados após uma falha.
Este produto também faria o trabalho como um cluster na memória:http://terracotta.org
Ele também vem um adaptador para o Java Quartz Scheduler, se você quiser lidar com alguns empregos.