Empujando los límites de escalabilidad de MySQL

Una preocupación bastante común al evaluar proyectos con una proyección de gran crecimiento es respecto al tipo de base de datos utilizada en relación con sus límites de escalabilidad.

En este sentido, la vieja escuela probablemente vaya a plantear que Oracle es la cura de todos los males habidos y por haber, fundamentalmente bajo el razonamiento de que si es caro es bueno y su amplia utilización en sistemas transaccionales… quizás debamos considerar también alguna cuota de lobby o mimos corporativos.

Por otra parte, los loquillos y hippies de la nueva escuela van a la guerra bajo la bandera de NoSQL y el cuestionamiento is it web scale? que ciertamente puede ser tan reduccionista como lo primero.

Aunque es obvio que un sistema puede tener un mejor ajuste a unas determinadas circunstancias, lo cierto es que en estas materias el software es una variable más de un conjunto que debe incluir también consideraciones sobre la arquitectura de la aplicación tanto como su relación con un conjunto de otras tecnologías que intervienen en su funcionamiento (memcached, Varnish, etc, etc, etc).

Por eso es refrescante ver artículos como Making MySQL better at GitHub, donde el equipo de ingeniería de un servicio tremendamente dinámico y que ha tenido un crecimiento notable, ya que nos ayuda a poner ciertas cosas en perspectiva como que sí es posible empujar los límites de la escalabilidad utilizando MySQL, incluso si el proceso no parece tan obvio al principio.

La moraleja de la historia es simple: entre todas las variables involucradas, el talento, cuidado y visión del equipo responsable es fundamental. Probablemente, para la nueva escuela ya es obvio, mientras que para la vieja escuela el “respaldo” de una marca reconocida sigue siendo un placebo imprescindible.

Pero estos se van a seguir escondiendo tras prejuicios erróneos como la ausencia de soporte y que nadie “serio” usa otra cosa que no sea Oracle… por supuesto, lo irónico es que es el mismo Oracle quien da soporte para MySQL, y que para muy probablemente van a encontrar ejemplos notables de uso “en serio” en el historial de su navegador: Amazon, Facebook, Twitter, Wikipedia, YouTube, LinkedIn, Tumblr, WordPress.com, Pinterest, Dropbox, Evernote…