Para responder às suas perguntas (elas são respondidas no manual, também btw.)
- O cluster do MySQL (ndb) mantém todos os índices na memória o tempo todo. Suas estruturas de dados e padrões de acesso são otimizados para esse caso. Eles podem (opcionalmente) ser gravados no disco também. Os dados não indexados podem ser armazenados em disco e serão lidos (e armazenados em cache), conforme necessário. Em geral, para um banco de dados, é bom ter memória suficiente para manter o conjunto de trabalho na memória, mas o cluster é um pouco mais rígido sobre isso.
- O MySQL / Oracle anuncia o MySQL Cluster como 99,999% de confiabilidade. Lembre-se de que grande parte da confiabilidade não está no software, mas no ambiente. Se o seu comutador ou energia morrer, o cluster completo pode ficar inativo. O MySQL Cluster tem rotinas bastante boas para ficar funcional e sincronizar se um nó desce e retorna. fazer isso corretamente no MMR é um pouco mais trabalhoso, mas pode ser feito também.
- Por 1. O MySQL Cluster funciona bem com dados na RAM, então provavelmente você poderia usar o ndb para eles também. Como alternativa, dependendo dos dados atuais e do caso de uso, você provavelmente poderá manter as tabelas temporárias independentemente nos diferentes servidores MySQL. Note que existem benchmarks (enquanto benchmarks sempre mentem) mostrando que ndb é fatser que Memory tables.
- Sim, a versão recente do cluster MySQL permite alterações on-line na configuração do nó e até alterações on-line nas estruturas da tabela. Ambos são mais complicados com o MMR.