Ejecutar muchas bases de datos en una sola instancia

Ejecutar muchas bases de datos en una sola instancia

¿Es mejor tener una sola instancia con muchas bases de datos o distribuir las bases de datos en algunas instancias?

Respuesta1

Sugeriría una instancia en lugar de varias instancias en el mismo cuadro, a menos que esté intentando resolver un problema muy especializado. Facilita la administración del servidor y utiliza menos recursos para gastos generales.

Una muy buena regla para la administración de sistemas es la misma regla que funciona bien para la programación, o que funcionaba cuando todavía hacía eso: hacer las cosas tan complejas como sea necesario para resolver el problema adecuadamente, ni más ni menos. . Por lo general, varias instancias harán que las cosas sean más complejas que una instancia con varias bases de datos.

Si necesita separar cosas para protegerlas, le sugeriría instalaciones de varios servidores (puede virtualizar en una caja física aquí), porque no estoy seguro de considerar diferentes instancias en una caja como un límite de seguridad.

Respuesta2

Asumiendo SQL Server, porque eso es lo que sé...

Recomiendo mantenerlos dentro de una sola instancia.

Esto permite un mayor rendimiento al acceder a datos entre bases de datos (es decir, desde la base de datos A necesita recuperar algo de la base de datos B). Si son instancias separadas, la comunicación deberá realizarse a través de servidores vinculados, utilizando canalizaciones con nombre o algo así. Dentro de una única instancia, puede acceder a todas las bases de datos directamente (sujeto a restricciones de seguridad).

Poniéndolos todos juntos da cierta exposición potencial a un único punto de falla, pero encuentro que SQL Server en sí es bastante sólido. Toda la máquina podría fallar (eliminando todas las instancias), pero no he visto fallas del tipo que harían preferible una disposición de instancia única de esta manera.

Dado que puede administrar el almacenamiento hasta el nivel de archivo, separarlo en varias instancias no es de ayuda.

Podría pensar en las implicaciones de seguridad si de alguna manera recibe un ataque de inyección SQL (¡para lo cual no hay excusa, ya que es muy fácil de prevenir!). Pero si tiene servidores vinculados entre las instancias, en realidad no obtendrá más protección.

Respuesta3

Independientemente del servidor SQL del que estemos hablando, como principio general, ejecutaría todas las bases de datos en una instancia siempre que sea posible, por todas las razones ya mencionadas por otros. Además, si llega al punto en el que una instancia no maneja muy bien la carga, es hora de agregar otra máquina, no otra instancia. Las únicas excepciones que se me ocurren son las aplicaciones que sólo se ejecutarán con su propia instancia. Por supuesto, es mejor evitar dicho software o colocarlo en una máquina diferente, si es posible.

Respuesta4

Desde el punto de vista de la memoria (nuevamente, asumiendo MS SQL Server), varias bases de datos dentro de una sola instancia generalmente darán como resultado un uso más eficiente.

Ejecutamos múltiples instancias cuando lo requiere una aplicación lista para usar. Para las cosas que desarrollamos, las agrupamos todas en una sola instancia.

información relacionada