Tenho uma dúvida sobre MySQL Cluster:
é possível ter um banco de dados maior que a quantidade de RAM? (para não ter todos os dados do cluster na memória, mas alguns dados residirão nos discos rígidos dos nós dos clusters)
Especialmente, é possível apontar para o MySQL Cluster quais partições não precisam estar na memória e podem ser armazenadas em discos. (em caso de falta de memória).
Só estou perguntando se é possível obter uma solução como essa com o MySQL Cluster.
MySQL Cluster FAQ afirma que é possível ter um banco de dados maior que a memória disponível, mas a documentação referenciada na entrada do FAQ afirma que apenas colunas não indexadas de tabelas NDB podem ser armazenadas em disco.
Você pode ter um conjunto de dados maior do que a RAM física, identificando os dados da tabela a serem armazenados no disco.
Atributos não indexados podem ser feitos seletivamente para residir no disco, mas os atributos indexados estão sempre na memória. Quanto maior o banco de dados e quanto mais índices você tiver nas tabelas, maior a probabilidade de precisar de mais memória ou hosts.
Semelhante à maioria dos DBMSs baseados em disco, há um cache de buffer LRU (menos usado recentemente) que armazena páginas quentes em cache. Ao ler um registro contendo dados baseados em disco, uma pesquisa é feita no cache do buffer para ver se a página existe lá. Caso contrário, os dados do registro devem ser lidos do disco.
Em algum estágio, o cache do buffer é verificado e todas as páginas sujas no cache do buffer são gravadas de volta em um espaço de tabela. O espaço de tabela junto com a RAM disponível para os atributos indexados define quantos dados você pode armazenar em uma tabela de dados de disco.
Isso significa que existem as mesmas limitações de desempenho para tabelas de dados de disco no MySQL Cluster como DBMSs baseados em disco tradicionais. Quanto maior o cache do buffer, melhor, pois há o risco de ficar vinculado à E/S do disco. As tabelas que estão sujeitas a muito acesso aleatório e têm fortes requisitos de desempenho e tempos de resposta são mais bem projetadas como tabelas na memória para evitar o limite de E/S do disco.
A tabela ndbinfo.diskpagebuffer fornece informações sobre a eficácia desse cache; os usuários do MySQL Cluster CGE também podem ver essas informações apresentadas ao longo do tempo através dos gráficos do MySQL Enterprise Monitor, conforme descrito em http://www.clusterdb.com/mem+/