Hola a todos.
Mi empresa está subdividida por departamentos. Cada departamento crea sus
propios albaranes. Entre ellos no existe ninguna relación; es decir, los
albaranes de un departamento sólo los ve ese departamento. Se crea un modelo
de datos relacional y se propone el siguiente modelo:
a) Todos los departamentos compartirán un mismo servidor.
b) Cada departamento tendrá una base de datos independiente con una "copia"
del modelo de datos propuesto.
c) Los datos que sean comunes a todos los departamentos estarán en otra base
de datos y serán replicados en cada una de las bases de datos.
La empresa consta de unos 50 departamentos. Se supone que el número de
albaranes crece bastante rápido y de esta forma, se supone que se optimiza
el acceso a ellos. Igualmente cada base de datos trabajará con vistas
particionadas ya que el número de albaranes es demasiado grande.
Mi propuesta es la de hacer que todos los departamentos estén en una misma
base de datos. Con esto creo que el modelo será más puro, más escalable y
óptimo. Es cierto que las tablas particionadas de albaranes serán 50 veces
más grandes pero no creo que sea ese problema para SQL Server.
Se supone que habrá unos 180 usuarios accediendo al servidor. En mi contra,
se achaca que el rendimiento de SQL Server bajará si todos los usuarios
acceden a una misma base de datos, e incluso, a una misma vista. Yo creo que
no es así, que el rendimiento del servidor no depende de "donde" accedas.
Cabe decir que no se hacen bloqueos de tablas ni de registros ( no es
necesario ) así que, no puede darse el caso de quedar todo "colgado".
¿Cuál os parece más acertado y por qué?
Gracias a todos
Xavi
Leer las respuestas