Hace unos minutos, recorriendo la web de MySQL (http://www.mysql.com/) me encontré con el siguiente paper:
- Database Tiering: Achieving Scale-Out by Combining MySQL with your Existing Database
(Disponible via pedido en el sitio de MySQL)
Son apenas unas cuantas hojas (10 para ser precisos) explicando dos casos de estudio importantes donde MySQL se ha visto involucrado para lograr un respaldo sólido, simple y económico basado en el motor MySQL.
Vale aclarar que en el paper, como ya lo mencioné, se explican dos casos de estudio. A saber, CitySearch y Sabre Holdings. De todas maneras solamente voy a profundizar en el caso de CitySearch ya que me parece una solución muy sencilla para implementar y con grandes beneficios.
La idea general es simplemente colaborar con el motor que tenga una empresa (generalmente motores Oracle, ya que las dos empresas en cuestión son de gran embergadura) añadiendo servidores con motor MySQL como front-end. Esto posibilita aliviar la carga del Data Server principal, lograr estabilidad y confiabilidad.
La estrategia principal para escalar en este caso fue, como indica el título de este post, implementar “Database Tiering” (Capas de Bases de Datos). Lograr introducir una nueva capa, en esta ocasion para el front-end de Bases de Datos, especificamente motor MySQL. De esta forma, las consultas irían dirigidas en primera instancia a un Balanceador de Carga, que consultaría directamente al motor MySQL (implementado como cluster, con dos servidores maestros, que a su vez replican a cadenas separadas de servidores esclavos) y de esta forma conseguiria realizar las consultas de forma eficiente en menos tiempo, ya que los servidores podrían estar geograficamente (estratégicamente) distribuidos. De esta forma se consigue aliviar considerablemente la carga.
En cuanto a la actualizacion y creación de datos, las consultas van dirigidas directamente al motor Oracle (obviamente las actualizaciones son mucho menores que las consultas), en este caso un 9i, que está instalado sobre un servidor que cada un minuto corre un script en Perl que replica los cambios hacia los servidores MySQL.
Evidentemente esta nueva arquitectura resulta muy eficiente, sobre todo con respecto a costos. Ya que comprar, instalar y configurar un motor MySQL es mucho más simple (por lo tanto más económico) que hacer lo mismo con un motor Oracle.
Otra gran ventaja de esta arquitectura es la tolerancia a fallas. Ya que los datos se encuentran replicados y si por alguna razon existiese algun tipo de problema realizar un nuevo set-up sería sencillo (y no se perderían datos, que es lo más importante).
Por último, y como conclusión final quiero decir que es importante saber abrir la cabeza y por lo tanto estar abierto a nuevas posibilidades. Siempre hay que cultivar la imaginación y el ingenio (sobre todo nosotros, los estudiantes/graduados ingenieriles).
Los invito a que lean el paper, bastante simple de entender por cierto, se encuentra en sitio de
MySQL, en la sección de Papers.
Santiago Basulto.-
| L | M | X | J | V | S | D |
|---|---|---|---|---|---|---|
| « May | ||||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
RSS feed for comments on this post · TrackBack URI
Leave a reply