melhor prática? Dados do consumidor no MySQL no Amazon EBS (Elastic block store)

3

Este é um aplicativo de consumidor, por isso vou me preocupar com os custos de armazenamento - não quero ter 5x cópias de dados por aí. O aplicativo shards muito bem, então eu posso usar o MySQL e não ter problemas de dimensionamento.

O Amazon EBS tem um bom recurso de backup de instantâneo + linha de base que usa o S3. Isso deve ter uma pegada leve (em termos de custo de armazenamento).

MAS: a história do magnolia.com me assusta: basicamente um backup em nível de bloco de um banco de dados ou sistema de arquivos corrompido.

Existe algo tão eficiente quanto o armazenamento do EBS no nível do MySQL?

    
por jeff7091 30.09.2009 / 04:25

4 respostas

2

Não há substituto para um backup externo frio.

Qualquer backup que esteja sempre online e conversando com servidores ativos, especialmente um no mesmo datacenter, corre o risco de ser comprometido por intrusos ou falha devido a alguma causa que mata o original (incêndio, inundação, etc). Por essas duas razões, você provavelmente quer um backup ao vivo próximo do tempo real, no caso de fazer algo mal-intencionado por engano e um backup externo menos frequente. A beleza dos backups externos é que eles estão o mais isolados possível de qualquer cenário imaginável (salve um indivíduo nefasto para destruir todos os seus dados a qualquer custo) e, embora você possa perder alguns dias / semanas de dados, é melhor do que perdendo tudo.

No que diz respeito ao backup de dados incorretos, qualquer sistema de backup pode fazer backup silenciosamente de dados corrompidos, para isso são os testes regulares.

Se você puder obter uma melhor taxa de armazenamento que o EBS de outro host (não difícil), poderá configurar esse host como um escravo do MySQL e criar seu próprio disco LVM para MySQL, permitindo que você realize instantâneos do LVM regularmente. Certifique-se de que, independentemente do mecanismo de snapshot que você usa, certifique-se de FLUSH suas tabelas e leia bloqueá-las para manter a integridade dos dados. Consulte o link para mais informações. Se você estiver usando um escravo somente para leitura, você provavelmente poderá simplesmente enviar um escravo e um sinal de parada, embora o bloqueio de leitura não atrapalhe.

Alternativamente, você pode simplesmente parar seu escravo de leitura completamente, desligando o servidor SQL, então usar o rdiff-backup, que é um backup incremental, apenas fazendo backup de alterações, para copiar seus arquivos MySQL também.

A verdadeira resposta, no entanto, é que você provavelmente não precisa de tudo isso. Você provavelmente pode usar o mysqldump automaticamente de vez em quando, compactando-o e fazendo o upload para S3, baixando cópias de vez em quando para o seu computador doméstico para backup.

    
por 23.02.2010 / 08:02
0

Qual o tamanho do banco de dados que estamos vendo aqui? Pessoalmente eu uso mysqlhotcopy para tabelas MyISAM e mantenho várias cópias. Mas sem cópias extras, eu suponho que você poderia manter registros binários . Os logs binários para replicação têm todas as consultas executadas a partir de uma determinada posição. Talvez você possa criar um sistema que mantenha uma cópia do banco de dados real, bem como os logs binários do último backup para backups incrementais.

    
por 30.09.2009 / 06:26
0

Você provavelmente deve configurar backups lógicos regulares, o que para o mysql provavelmente significa configurar um slave dedicado para fazer mysqldumps. Aqueles devem ser recarregados e testados regularmente também.

Se você estiver realmente preocupado, pode valer a pena pesquisar em um banco de dados que fará algum nível de verificação de dados e / ou arquivos de log. Além disso, um sistema de arquivos que faz checksums em dados também seria útil para prevenir a corrupção do nível de disco.

    
por 20.12.2009 / 06:27
0

Confira um provedor de backup em nuvem com dedupe - Asigra é líder nesse espaço. Você deseja que seus dados de backup fiquem em eixos e grades de energia diferentes dos dados principais, se possível.

A desduplicação deve ajudar a mantê-lo acessível, reduzindo o consumo de largura de banda.

    
por 17.05.2010 / 14:05