La escalabilidad es un tema GRANDE, pero cuando se habla de escalar una base de datos, cómo lo hace generalmente depende de cómo diseñó la estructura inicial de la base de datos.
El escalado horizontal es una opción y está disponible con herramientas NoSQL como MongoDB o Cassandra. Es más barato ya que todo lo que tiene que hacer es agregar un nuevo cuadro y decirle a la base de datos que existe. La base de datos distribuirá aleatoriamente los datos entre los cuadros. Esto se llama Shrading y puedes leer sobre esto aquí.
- ¿Cuáles son los pasos y habilidades (idiomas que podría usar o aprender) necesarios para desarrollar una aplicación web?
- ¿Con qué frecuencia se utilizan los operadores aritméticos en Ruby al crear una aplicación web?
- ¿Cuánto tiempo tomaría desplazarse hasta el final de tumblr?
- ¿Existe una forma "correcta" de implementar aplicaciones web?
- ¿Hay muchas aplicaciones web que están codificadas principalmente en JavaScript?
El escalado vertical es otra opción, pero es más costoso, porque significa que debe aumentar el rendimiento y la capacidad de su máquina existente (RAM, CPU, espacio en disco). Obviamente, esto tiene límites superiores e implicaciones de costos enormes si comienza a entrar en máquinas de gama alta. Este tipo de escala generalmente se asocia con bases de datos relacionales como MySQL.
“Scale Up vs Scale Out” es un gran artículo sobre el tema.