O MySQL Cluster raramente se aplica em uma configuração acessível pela web. Este produto está disponível principalmente para data warehousing em ambiente de cluster dedicado.
A replicação do MySQL (master / slave, dual master, etc.) não ajudará se você estiver inclinado a escrever. Para que a replicação aconteça, uma gravação deve ser 'encaminhada / executada' em todos os sistemas ... isso reduzirá facilmente seu desempenho global. Nota: a replicação pode ser útil se você tiver contenção de tabela (bloquear na tabela inteira), mas se você estiver usando innodb, eu ficaria surpreso que isso acontece com frequência. Além disso, o custo de desempenho de ter um escravo poderia ser mitigado pelo tempo economizado em um cenário de crise / recuperação - mas essa não é a pergunta feita.
Você pode examinar o conceito de fragmentação. Aliado ao MySQL-Proxy e a um script LUA cuidadosamente elaborado, você pode reescrever automaticamente suas consultas SQL para dividir a gravação em um cluster do sistema MySQL (cuidado com a taxa de falhas de instâncias da AWS).
Embora você diga que esse é um longo caminho, a opção de hardware dedicado deve ser cuidadosamente estudada. A maioria dos ambientes IAAS (como o AWS / EC2) estão preparados para uma tendência muito pesada em direção à leitura IO. No hardware dedicado, você pode aproveitar o cache SSD e / ou a classificação por níveis de armazenamento. Você também pode aproveitar a SAN dedicada, onde a capacidade de E / S OPS é adaptada para o seu requisito específico.