Ver Mensaje Individual
  #24  
Antiguo 10-11-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, bueno... son muchas cosas a tener en cuenta, que habría que estudiar detalladamente en tu caso, ya sabes que cada caso es diferente y es muy difícil acertar dando soluciones generalizadas.
Para empezar, por los reportes que dices que son algo lentos, habría que saber qué hacen esos reportes, qué generador de reportes usas, etc. además de pequeños detalles (y muy importantes), por ejemplo, ¿generas vista previa?, ¿haces doble pasada? (para calcular entre otras cosas el "Página x de y"), etc.
Algunso generadores crean unos ficheros temporales en disco que necesitan mucho espacio, cuanto mayor sea el reporte a generar, es conveniente tener espacio más que de sobras y a ser posible en otro disco. Si usas la previsualización será también más lento, obviamente, tiene que generar todas las páginas. En fin, son "truquitos" que hay que ir poniendo en práctica para mejorar el rendimiento.
También depende del tipo de informe, supongamos que es una estadística de ventas del año anterior o de meses anteriores, entonces puede que sea interesante tener un pequeño servidor con el backup último y usar esa BD, en lugar de usar el servidor principal, ya que no necesita los datos actuales.
Continuando con tus preguntas:

Cita:
Empezado por erickahr
Deberia usar acumulados por semana, mes y año separados en diferentes bases de datos, para poder solicitar comparativos anuales, y al mismo tiempo mantener solo los movimientos del año en curso para distribuir la cantidad de registros?
Esto se responde con lo que he comentado antes, puede ser interesante mantener tablas con acumulados, por lo que las consultas serían instantáneas. Esos acumulados se programan en la BD, mediante triggers, así que todo el trabajo lo haría la propia BD y nos despreocuparíamos nosotros.

Cita:
Empezado por erickahr
Seria necesario distribuir la informacion en diferentes servidores incluso?
De momento no creo que sea necesario, aunque estaría bien tener un servidor de reserva, como he comentado antes, para cosas "anexas" que no recarguen al servidor principal, cuando sea necesario.

Cita:
Empezado por erickahr
De plano, deberia cambiar a un motor mas potente como Oracle?
En principio, no, ten en cuenta que con oracle vas a tener que poner un servidor muy GRANDE, en tu servidor actual se quedará pequeño, así que si vas a necesitar un servidor más grande, aprovecha para instalar Firebird, seguro que te lo agradece.
Es curioso lo habitual que son comentarios del estilo: "Mi BD va lenta, voy a tener que poner un oracle y un servidor nuevo". ¡¡¡Jod...!!!, pues ponle el nuevo servidor a tu BD actual, verás como lo agradece.
Ten por seguro que tu servidor actual, (y no tengo ni idea de cual es), si montas oracle en él, es seguro que va a ir mucho, mucho más lento que firebird. Por lo que necesitarás un servidor más grande sólo para que vaya igual que el actual con firebird. Pues entonces monta firebird en uno más grande (grande=potente).

Cita:
Empezado por erickahr
Deberia cambiar el SO del servidor?
Respuesta corta: SI.
Respuesta larga: Por supuesto que SI.
Bromas aparte, te garantizo que si instalas linux en tu servidor actual puedes incrementar su rendimiento, como mínimo, un 30% aunque normalmente será más.
No has dicho qué servidor tienes, pero es primordial tener uno en condiciones, igual que lo tendrías que instalar si pusieras oracle.
Servidores dedicados de 4 u 8 cores, cuanta más memoria ram será mejor, discos de 10000 ó 15000 rpm, por supuesto RAID 5 al menos, un NAS de red también en RAID5 para mantener backups, etc.
El sistema debe estar particionado para mantener la BD en una partición, ficheros temporales en otro disco (puede ser el NAS), recuerda que tanto firebird como la mayoría de gestores de informes/reportes usan ficheros temporales y es conveniente que estén en otro disco que no sea el de la BD. No en otra partición (porque sería el mismo disco), sino en otro disco diferente.
En mi trabajo, a los clientes más grandes, se les instala de esa manera, grupos de discos RAID5 la BD, otro para los temporales, otro externo para backup, etc.
Resumiendo, poner un servidor profesional, y por supuesto, Linux.
Si hay algo que une a las empresas que se han citado antes en este hilo, google, wikipedia, etc. es que todos usan sin excepción servidores linux. También sabrás que casi todos los superordenadores más potentes del mundo funcionan con linux, como no puede ser de otra forma.

Cita:
Empezado por erickahr
Como manejan su informacion las grandes cadenas, como Wal*Mart, Chedraui, etc.?
No tengo información sobre ellos, pero los que he citado antes, además de amazon, casi todos los servidores webs del mundo, etc. funcionan con linux. O con alguna versión '*nix', que viene a ser lo mismo.
En España, la cadena de supermercados Mercadona, que factura más que Erosky y Carrefour juntas, usan Linux desde hace años.
Sabrás que Firebird funciona en linux, solaris, hp-ux, macosx, windows, etc. así que no tendrás ningún problema en instalarlo en cualquier ordenador, desde los más pequeños hasta los más grandes superordenadores/mainframes del mundo.
Por supuesto, instala en linux la versión classic server o la última versión superclassic.

Bueno, si después de todos esos cambios, todavía te resulta lenta... todavía hay mucho que hacer, "afinar" las consultas sql. En mi trabajo nos encontramos hace varios años con las estadísticas acumuladas de varios años que tardaban un poco más de lo recomendable. Se dedicó un tiempo a estudiarlas bien, a depurarlas, afinarlas, simplificarlas, etc. y actualmente esas estadísticas pueden ser de las consultas más rápidas de la gestión, incomprensiblemente

Cuando ya tengas tanta información que te sea imposible gestionar con firebird, a pesar de usar un servidor como un camión de grande, entonces puede ser el momento de pasar a.... ¡¡¡postgresql!!!, pero no a oracle.
¿Por qué?, pues porque con postgresql tienes más facilidades que firebird para instalar clusters de servidores y repartir la carga entre ellos, pero en fin, con un servidor "decente" actual, de entre 4 y 16 cores, instalándole unos buenos 16 a 64 GB de ram y un buen sistema de discos en raid... creo que tienes firebird para rato, sin oracle. Sólo con las licencias de oracle ya te puedes comprar un superservidor enormemente monstruoso.

En fin, todo esto es información muy generalizada, muy superficial, habría que estudiar cada apartado con detalle para "dar en el centro de la diana"
Responder Con Cita