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

Preguntas similare

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:
Mostrar la cita
#2 Hugo Gsell
07/12/2006 - 16:43 | Informe spam
Gracias... abre un halo de esperanza a lo que yo pensaba aunque tus
apreciaciones (consideraciones) no son tan así:
a) Usas cursores: SI
b) Tienes tu base de datos desnormalizada: NO (minimamente en 1 par de
situaciones)
c) Tienes mucha, mucha lógica de negocios en procedimientos almacenados:
NO la lógica de negocio la manejo en una capa de mi aplicación .net.
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: NO.

De todas formas me parece razonable y coherente lo que dices.
Nuevamente gracias.

Hugo A. Gsell

"Javier Loria" escribió en el mensaje
news:
Mostrar la cita
#3 Carlos Sacristán
07/12/2006 - 17:05 | Informe spam
Javier, me sorprende el comentario acerca de si tiene "mucha, mucha
lógica de negocios en procedimientos almacenados". ¿A qué te refieres
exactamente?.

Hugo, seguramente si eliminas esos cursores el rendimiento se verá muy
favorablemente afectado


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Hugo Gsell" escribió en el mensaje
news:
Mostrar la cita
#4 Javier Loria
08/12/2006 - 04:19 | Informe spam
Hola Carlos:
Debe ser el producto de malas experencias :(
Por ejemplo hace 2 años trabaje con una base de datos de recursos
humanos de 800 tablas y 700,000 lineas de codigo en SQL (Vistas, Funciones y
Procedimientos Almacenados), puedes decir que toda la aplicación estaba
hecha en SQL. El problema de esto es que SQL es un lenguaje limitado y para
solucionar problemas complejos se requiere mucha inmaginacion y este tipo de
codigo castiga mucho al servidor.
A mi el SQL me gusta simple :)
Saludos,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> wrote in message
news:
Mostrar la cita
#5 Maxi
08/12/2006 - 14:52 | Informe spam
Hola cocincido contigo hasta 2000, en 2005 ese codigo complicado se podria
poner en procedimientos CLR y hasta si los haces inteligentemente podes
ponerlos fuera del motor en un futuro con el menor esfuerzo.
Yo en un proyecto reciente puse la logica de negocios en CLR dentro del
SQL2005 y la verdad que estoy sorprendido de los resultados :)


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
http://maxiaccotto.blogspot.com/
"Javier Loria" wrote in message
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida