Cómo configurar una base de datos para el servidor de mi sitio web que se puede escalar

La respuesta simple es que si le preguntas esto a Quora, probablemente tendrás muchos problemas y no obtendrás un buen resultado porque no sabes lo que estás haciendo (perdón si eso parece un poco insultante).

Pero permíteme intentar iluminarte 🙂

El escalado de un sistema de almacenamiento de datos puede ser mucho más efectivo si se enfoca en optimizar el uso de los datos en lugar de simplemente agregar más gruñido a un sistema ocupado.

Lectura de temas sobre tipos / configuraciones de motor de base de datos: replicación de solo lectura, consistencia eventual, ACID vs BASE, fragmentación, normalización / desnormalización con el objetivo de reducir el movimiento de datos innecesarios y el número de solicitudes.

Si puede diseñar el uso de su base de datos de manera que una de las estrategias anteriores (y puede usar más de una) se vuelva beneficiosa, sin inconvenientes para su situación, entonces su plataforma debería poder escalar realmente bien segregando datos sobre hardware porque hay límites obvios semánticos / temporales / geográficos dentro de sus datos que puede usar para asignar datos a máquinas físicas.

Mi sugerencia para usted sería elegir MariaDB (variante mysql que es menos defectuosa y más eficiente), o su elección de NoSQL DB (no he usado muchos para poder recomendar uno en particular) en una sola instancia, y Construye tu aplicación. Cuando llegue el momento en que tenga problemas de rendimiento, la primera vez probablemente podrá solucionarlos con un poco de optimización e indexación de consultas, y para la segunda vez sabrá exactamente lo que debe hacer o habrá empleado Alguien más que lo hace.

Puede utilizar un sistema de base de datos, diseñado específicamente para esto, como Riak. Le permitirá agregar un grupo de sistemas y bases de datos unidos como un solo grupo que puede seguir creciendo.
Puede lograr esto con MySQL u otros también, pero es mucho más fácil con algo como Riak si está almacenando datos que son compatibles con NoSQL.