2011-12-16 11 views
6

Digamos que tiene un sitio web grande y popular basado en bases de datos. Hay personas en el sitio todo el día y toda la noche. Acceden a páginas que leen y escriben en la base de datos.¿La mejor práctica para las escrituras de la base de datos del sitio web durante copias de seguridad frías?

Al implementar un plan diario de copia de seguridad de la base de datos, implica hacer copias de seguridad en frío, lo que significa que cierra temporalmente la base de datos o bloquea las tablas mientras la copia de seguridad está en progreso. Esto garantiza que los datos nuevos no se inserten en la base de datos mientras se realiza la copia de seguridad.

¿Cuáles son algunos buenos enfoques para codificar los controladores de su sitio y los modelos para que no fallen debido a bloqueos de tabla o la base de datos está fuera de línea? ¿Necesita implementar algún tipo de sistema de cola de escritura de la base de datos o algo así? ¿O simplemente desconecta temporalmente todo el sitio? ¿O simplemente hacer copias de seguridad en vivo sin bloquear o cerrar nada? ¿Cuál es un buen enfoque?

Respuesta

3

Uso replicación, aquí es un escenario simple

1 maestro A, 2 esclavos B, C

  • durante el funcionamiento normal, la aplicación debe equilibrar la carga entre A, B y C
  • durante la copia de seguridad, su aplicación NO debe leer/escribir desde A
    • liberar A de ser maestro, promover B a maestro, cambiar esclavo C para escuchar en B
    • uso A para copia de seguridad
    • después del respaldo hecho
    • cambio de A a escuchar desde B (que es decir un esclavo convertido a partir de ahora en adelante)
  • cuando A es ponerse al día con B, (no más de retraso), cambiar su solicitud para equilibrar la carga de nuevo entre a, B, C

para el día 2, sólo tiene que repetir todo el ciclo, de la matriz de curso es ahora B.

+0

Si usted no tiene ningún control sobre la vida La configuración del servidor MySQL, por ejemplo, en un entorno de alojamiento web compartido, ¿sigue siendo la replicación una opción? –

+0

Esto es un problema, el precio del alojamiento es atractivo hoy en día, no creo que sea difícil conseguir uno que sea bueno y barato. Entre, ¿cuál es la compañía de hosting que estás usando? – ajreal

+0

Sitios en la nube de Rackspace. Es una buena razón porque su (s) sitio (s) mágicamente se ajustan bien con el tráfico, pero le limitan mucho en funciones. Sin configuración SSH, RSYNC, SFTP, MySQL, etc. Podríamos tener que elegir un host separado solo para el alojamiento de la base de datos solo. –

Cuestiones relacionadas