Recentemente, começamos a usar o Yandex ClickHouse para nosso back-end de dados e estamos trabalhando para descobrir a melhor forma de fazer backup de nossos dados. Parece haver duas maneiras de fazer isso.
ALTERAR TABELA ... PARTIÇÃO DE FREEZE
O comando ALTER TABLE ... FREEZE PARTITION
parece simplesmente criar um instantâneo local de uma partição. Eu teria que escrever um script que descobre todas as partições em cada tabela e, em seguida, emitir o comando apropriado.
Para tirar os backups do sistema, acho que teria que criar um backup do diretório shadow
em cada servidor e armazenar esse backup em outro local (como S3 ou algo assim).
Como eu manteria o diretório shadow
limpo? Os congelamentos podem ser apagados?
Dump de dados
A outra maneira que vi para fazer o backup dos dados é simplesmente despejá-los em arquivos, como esta página sugere.
Eu teria que escrever um script que descobre todas as tabelas em cada banco de dados, e eles despejam todos os dados em um arquivo. Isso me lembra muito de usar o mysqldump para fazer backup de bancos de dados no MySQL, mas sem a capacidade de simplesmente despejar tudo em um comando.
Pessoalmente, estou inclinado a essa solução, pois parece ser muito mais fácil de criar e manter scripts, mas estou realmente curioso para saber o que os outros estão fazendo.
Tags backup database-backup