19 votos

Muzak, replicación de consejos y técnicas

Estoy tratando de que mi primer gran escala de la base de datos del proyecto por mi cuenta. Tengo un myisam de base de datos mysql en el servidor 1 con php de la aplicación de consumir gran cantidad de datos. He myisam de mysql en el servidor 2 con php app selección y visualización de datos.

Quiero replicar estos datos en el servidor 2.

Preguntas:

  1. Debo cambiar de servidor 1 base de datos mysql con innodb
  2. Se puede replicar server1 innodb a myisam server2
  3. Yo soy el almacenamiento de los medios de comunicación como blob con la intención de utilizar la caché de descarga de la tensión en el servidor en vivo. Debo usar el sistema de archivos de almacenamiento y rsync.
  4. Cualquier consejo general de otras personas con experiencia ?

26voto

Book Of Zeus Puntos 38130

Esto es lo que sugiero basado en mi experiencia.

  1. Puede usar un tipo de motor (MyISAM o InnoDB) para ambos servidores. Yo que la mezcla de ambos motores, usted podría obtener de Interbloqueo, transacción problemas etc... y el tiempo de fijación puede ser doloroso. Yo tuve problemas hace un rato con InnoDB -> MyISAM. Ahora he utilizado MyISAM en todos los servidores.

  2. Para el almacenamiento de los medios de comunicación (tales como imágenes, videos o documentos) puede crear un NFS y montar una carpeta como /usermedia/ que ambos servidores de acceso. Por lo tanto, usted no tiene que rsync cada vez. Además, puede guardar los datos de metadatos o de los medios de información a la base de datos de referencia y donde se guarda el archivo en el disco. Nota: el uso de un blob para guardar los archivos puede ser buena dependiendo de los medios de comunicación. Si usted tiene un archivo que es de aproximadamente 1 giga podría no ser una buena idea para guardar en la base de datos por ejemplo).

  3. El uso de un sistema de almacenamiento en caché para recuperar datos (tales como memcached). Por ejemplo, si los datos de la solicitud y deberá mostrar al usuario de ellas, mira primero en la caché. Si no está en la caché de consultas de la base de datos, guardar en el caché y la pantalla. Próxima vez que se solicita la misma información, no de la petición del servidor, pero de la memoria. Esta solución va a evitar numerosas llamadas en el servidor de Base de datos que va a mejorar el rendimiento.

Déjeme saber si usted necesita ayuda adicional.

23voto

Pat R Ellery Puntos 116

Yo recomendaría InnoDB (para las transacciones, bloqueo de fila y no bloqueo de tabla) y redis como el almacenamiento en caché de forma muy rápida y eficiente

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X