pregunta de diseño (es largo, paciencia)

07/12/2006 - 12:35 por Hugo Gsell | Informe spam
Como he mencionado en otro"asunto" tengo en la organización varios
subsistemas... contabilidad, empleados, expedientes, etc. Para cada uno se
creó una base de datos en sqlserver 2000 sobre un windows 2000 server.
Y hay una serie de tablas comunes por mencionar uno la tabla usuarios, o la
tabla provincias (ya que cada empleado perteneces a una provincia y
proveedores, ya que cada proveedor tambien perteneces a una pcia.
El problema se plantea en repetir en cada base de datos estas tablas comunes
ó crear un almacen (base de datos) común donde vayan este tipo de tablas.
Ahora bien, si separamos las tablas (y utilizo tiggers para los controles)
pierdo calidad en diseño bah digo,,, ya no podré ver elegantemente mi
"diagrama" con sus relaciones completas. Y si duplico las tablas "no" y
repito NO es para nada óptimo.
Se me planteo 'mentalmente' una solución distinta, que es meter todo en una
sola BASE DE DATOS, sin embargo la pregunta que surgió 'inmediatamente' es
en cuanto al rendimiento es decir, se 'banca' el sqlserver 2000, montado
sobre un windows 2000 server, con un server HP Pentium III 650 con 1 GB ram,
hdd (RAID espejado) de 80 gb (que es lo que nos dieron y otra cosa 'al menos
por ahora' no hay).
En cuanto a la carga de trabajo esta un poco dificil de estimar ya que hay
varios de estos sistemas que recién se estan "intentado" migrar a sqlserver,
y otros haciendose de la "nada".
El único dato REAL y objetivo es que unas 150 personas (que estan en red)
utilizarán los sistemas. Es decir, no todos utilizan todos los sistemas sino
que sería la cantidad de usuarios finales de todos los sistemas.
Si tuviesemos que medir en transacciones de acuerdo a los trabajos de
analisis que llevé a cabo estimo unas

sistema expedientes 25000 transaccines mensuales
sistema empleados 5000 transacciones mensuales
sistema contabilidad 14000 transacciones mensuales
otros sistemas 15000 transacciones mensuales
supongamos en el mejor de los casos que esto es constante, aunque esto no es
así ya que por ej. hay "periodos del mes" en que se trabajará mas (por ej.
sistema empleados para las liquidaciones, etc.) o a veces se dá por ráfagas
en horarios pico del día. Sin embargo, nos da una idea del volumen de
información.
Como no he tenido experiencia previa con sql server no tengo mucha idea de
las prestaciones reales prácticas de este gestor de base de datos (aunque
les paresca de risa -a mi a veces me parece- trabajamos con bases en cliper
con tablas de 1 gb (unas cuantas... y vamos pasando a históricos).
Espero no haberlos cansado y espero además una orientación con respecto a la
pregunta "¿se bancará en sql server 2000 sobre windows 2000 server bajo un
hp pentium III con 1gb de ram con disco 80gb (raid -espejado)?"

Desde ya muchas gracia por el tiempo dispensado.


Hugo A. Gsell

Hugo A. Gsell
 

Leer las respuestas

#1 Javier Loria
07/12/2006 - 13:12 | Informe spam
Hola Hugo:
Sobre tu pregunta especificamente: ¿se bancará en sql server 2000 sobre
windows 2000 server bajo un hp pentium III con 1gb de ram con disco 80gb
(raid -espejado)?:
La respuesta es depende:
a) Usas cursores: Problablemente.
b) Tienes tu base de datos desnormalizada: Probablemente
c) Tienes mucha, mucha lógica de negocios en procedimientos almacenados:
Probablemente.
d) Tienes algunos usuarios corriendo muchisimos reportes o consultas sin
una estrategia sensible de indices: Probablemente.
e) Usas el servidor para algo mas que SQL Server: Probablemente.
Habra otras condiciones pero no se me ocurren ahora. Las transacciones
que manejas no deberian ser ningun problema, incluso ese numero de
transacciones al dia no seria problema.
Una nota adicional, si no puedes comprar otro server busca comprar otros
discos (2) para usar el transaction log separado de la BD, esto suele
incrementar sensiblemente el desempeño.
Saludos,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Hugo Gsell" wrote in message
news:
Como he mencionado en otro"asunto" tengo en la organización varios
subsistemas... contabilidad, empleados, expedientes, etc. Para cada uno
se creó una base de datos en sqlserver 2000 sobre un windows 2000 server.
Y hay una serie de tablas comunes por mencionar uno la tabla usuarios, o
la tabla provincias (ya que cada empleado perteneces a una provincia y
proveedores, ya que cada proveedor tambien perteneces a una pcia.
El problema se plantea en repetir en cada base de datos estas tablas
comunes ó crear un almacen (base de datos) común donde vayan este tipo de
tablas.
Ahora bien, si separamos las tablas (y utilizo tiggers para los controles)
pierdo calidad en diseño bah digo,,, ya no podré ver elegantemente mi
"diagrama" con sus relaciones completas. Y si duplico las tablas "no" y
repito NO es para nada óptimo.
Se me planteo 'mentalmente' una solución distinta, que es meter todo en
una sola BASE DE DATOS, sin embargo la pregunta que surgió
'inmediatamente' es en cuanto al rendimiento es decir, se 'banca' el
sqlserver 2000, montado sobre un windows 2000 server, con un server HP
Pentium III 650 con 1 GB ram, hdd (RAID espejado) de 80 gb (que es lo que
nos dieron y otra cosa 'al menos por ahora' no hay).
En cuanto a la carga de trabajo esta un poco dificil de estimar ya que hay
varios de estos sistemas que recién se estan "intentado" migrar a
sqlserver, y otros haciendose de la "nada".
El único dato REAL y objetivo es que unas 150 personas (que estan en red)
utilizarán los sistemas. Es decir, no todos utilizan todos los sistemas
sino que sería la cantidad de usuarios finales de todos los sistemas.
Si tuviesemos que medir en transacciones de acuerdo a los trabajos de
analisis que llevé a cabo estimo unas

sistema expedientes 25000 transaccines mensuales
sistema empleados 5000 transacciones mensuales
sistema contabilidad 14000 transacciones mensuales
otros sistemas 15000 transacciones mensuales
supongamos en el mejor de los casos que esto es constante, aunque esto no
es así ya que por ej. hay "periodos del mes" en que se trabajará mas (por
ej. sistema empleados para las liquidaciones, etc.) o a veces se dá por
ráfagas en horarios pico del día. Sin embargo, nos da una idea del volumen
de información.
Como no he tenido experiencia previa con sql server no tengo mucha idea de
las prestaciones reales prácticas de este gestor de base de datos (aunque
les paresca de risa -a mi a veces me parece- trabajamos con bases en
cliper con tablas de 1 gb (unas cuantas... y vamos pasando a históricos).
Espero no haberlos cansado y espero además una orientación con respecto a
la pregunta "¿se bancará en sql server 2000 sobre windows 2000 server bajo
un hp pentium III con 1gb de ram con disco 80gb (raid -espejado)?"

Desde ya muchas gracia por el tiempo dispensado.


Hugo A. Gsell

Hugo A. Gsell


Preguntas similares