SQL azul. Ampliar la base de datos para mejorar el rendimiento (solo lectura)

SQL azul. Ampliar la base de datos para mejorar el rendimiento (solo lectura)

Tenemos una base de datos que se utiliza bastante (casi el 100% de las solicitudes son selecciones) y ahora la base de datos se convierte en un cuello de botella.

Estábamos buscando una solución que nos permitiera escalar esta base de datos (horizontalmente) y cargar la solicitud de equilibrio en múltiples instancias.

En un escenario perfecto, lo que buscamos es una forma de agregar y eliminar instancias dinámicamente (de manera similar a cómo se podrían escalar instancias de Azure Web App).

Hasta ahora, la mejor solución que encontré es 'Lectura escalada usando réplicas de solo lectura':https://docs.microsoft.com/en-us/azure/azure-sql/database/read-scale-out. Y esto parece una solución perfecta, el único problema es que no veo cómo podría agregar más réplicas allí.

Respuesta1

Por lo general, un RDBMS no puede escalarse horizontalmente sin fragmentar los datos de alguna manera. Además, los datos de un RDBMS deben estar normalizados, lo que no es apropiado para todos los conjuntos de datos.

Otra cosa a tener en cuenta es que la escalabilidad dinámica es diferente del escalado automático. La escala automática es cuando un servicio escala automáticamente según criterios, mientras que la escalabilidad dinámica permite el escalamiento manual con un tiempo de inactividad mínimo.

Una posible solución podría ser esta.Script de PowerShell para monitorear y escalar una única base de datos SQL

También una migración a Cosmos DB podría ser una solución.

información relacionada