Pensei nos 3 dias já e perguntei no IRC, mas também quero consultar os seus conhecimentos. Basicamente, trata-se de um site de alto tráfego que usa o Drupal (não me faça começar, não tenho escolha nesse assunto). O Drupal faz algumas coisas não tão inteligentes como: a) armazenar o cache no banco de dados eb) armazenar sessões no banco de dados. O primeiro problema que resolvi com um módulo. O segundo problema que não consigo resolver porque a tabela de sessão é muito estranha e o único autor do módulo de proxy de sessão disse que irá quebrar outros módulos por causa da tabela de sessão do Drupals / incompatibilidade padrão (o que foi feito não posso mais usá-la) . O maior problema é que, se os binlogs estiverem habilitados, as atualizações de sessão na tabela do banco de dados geram um alto I / O e cerca de 100 MB / 40 segundos de logs binários. Eu eliminei 200gb de binlogs nos últimos 2 dias. O problema é que as consultas de atualização de sessão são enormes, agora são 3.5k req / s e isso causa 60mbit / s de sql queries do php para o mysq, com Redis seus 5mbit / s. A única opção seria desabilitar os log binários. Além disso, o DB vai estar em um cluster Galera em breve. 2 perguntas
a) Como trabalhar com restauração pontual sem log binário? Vários backups ativos ao vivo durante o dia?
b) Eu suponho que é inteligente separar as tabelas de contas de usuários do resto do banco de dados e colocá-las com binlogs porque elas certamente precisam de uma restauração pontual. Mas isso exigiria um cluster separado?
Obrigado pela ajuda antecipada
ps: Eu não posso usar o binlog-ignore-db porque o Galera ignora os filtros do log bin! Eu teria que dividir os bancos de dados em instâncias separadas, mas não tenho certeza se quero executar várias instâncias do mysql ...