Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Como lograr Estadisticas desde 40 Bases de Datos ... (https://www.clubdelphi.com/foros/showthread.php?t=85405)

ingel 13-03-2014 13:45:26

Como lograr Estadisticas desde 40 Bases de Datos ...
 
Buendia a todos .. La consulta es la siguiente .
Necesito desarrollar un programa de estadisticas (mostrando consultas y graficos) donde debo tomar datos de aproximadamente 40 base de datos a la vez .. en principio, desde un unico Servidor SQL2008
(restauraria los BK de los servidores remotos..)

La consulta es conocer cual seria la mejor forma de encararlo ?
Con Delphi7 supongo deberia tener 40 TDatabase ( obviamente nunca lo he probado y no ni siquiera si es posible ... mucho menos si es eficiente )
O trabajar con vistas SQL o Store procedures ?
O directamente encarar un desarrollo Web en PHP o ....

En fin, espero sus opiniones ...
Gracias ...

Casimiro Notevi 13-03-2014 15:33:42

Depende ;)

Neftali [Germán.Estévez] 13-03-2014 15:50:29

A primeras si tener muchos datos más, yo optaría por recopilar datos en local desde las Bases de Datos (utilizando Jobs a determinadas horas que no interfieran en el trabajo) y luego una vez que tengas los datos en una Base de Datos común (consolidación) a partir de ahí generar las estadísticas.
Es lo que hacíamos nosotros (en un trabajo anterior) todas las noches. de esa forma por la mañana estaban las estadísticas disponibles. Además de esa forma tienes una Base de Datos específica de estadísticas, para no interferir en el trabajo diario.

No se si eso se puede ajustar a los que necesitas.

De todas formas piensa que aunque usaras 20 TDatabase para conectarte a las Bases de Datos, antes de generar una estadística con datos de diferentes conexiones tendrás que "juntarlos" en algún sitio, osea que acabas llegando a la primera solución, ya que hay que juntarlos, mejor hacerlo en el SGBD y no en el programa cliente.

A parte de eso mírate LINKED SERVERS a ver si por ahí ves alguna alternativa.

mamcx 13-03-2014 19:48:15

La opcion sana es lo que dice neftali. Aunque ahi se pierde "el tiempo real" de los datos ya que hay que importarlos.

Con todo, son muy pocas las veces donde vale la pena hacer las cosas "en tiempo real".

ingel 14-03-2014 05:20:55

tal vez no fui muy claro ...
 
Gracias a todos por responder .. ( incluso a Casimiro :-) .... )
Quizas no logre explicarme bien ... La idea NO ES hacer la consulta en tiempo real ... ( tampoco quiero vincular los Servidores... )
Sino Restaurar las Bases de Datos de los Servidores remotos en UN SERVER LOCAL ... ( previo envio por FTP de los BK de las 40 Bases )
y de ahi hacer las consultas..

Lo que quisiera saber es segun su experiencia cual es la mejor forma de acceder a esos datos ? ..
Desde delphi con Tdatabase ? con Vistas o SP con SQL ? ... Con programacion Web ? teniendo en cuenta que tambien debo mostrar
graficos ...
Gracias nuevamente...

olbeup 14-03-2014 08:44:54

La mejor forma de trabajar con SQL Server es ADOConnection y ADOQuery y simplemente una SQL que conecte las 40 tablas de esa base de datos, si lo haces en forma local puedes medir el tiempo para depurar esa SQL y después pasarla al servidor.

Actualmente trabajo con SQL Server 2005, 2008 y 2012 pasando de un trabajo antiguo al nuevo y utilizo ADOConnection y ADOQuery nunca me he salido de hay ni tampoco he utilizado ADOTable, Table, TDatabase, etc...

También puedes utilizar un Threard (hilo) si la consulta se demora.

Un saludo.

Casimiro Notevi 14-03-2014 09:31:43

Cita:

Empezado por ingel (Mensaje 473739)
Gracias a todos por responder .. ( incluso a Casimiro :-) .... )
Quizas no logre explicarme bien ... La idea NO ES hacer la consulta en tiempo real ... ( tampoco quiero vincular los Servidores... )
Sino Restaurar las Bases de Datos de los Servidores remotos en UN SERVER LOCAL ... ( previo envio por FTP de los BK de las 40 Bases )
y de ahi hacer las consultas..

Lo que quisiera saber es segun su experiencia cual es la mejor forma de acceder a esos datos ? ..
Desde delphi con Tdatabase ? con Vistas o SP con SQL ? ... Con programacion Web ? teniendo en cuenta que tambien debo mostrar
graficos ...
Gracias nuevamente...

Si restauras todos los datos en una sola BD entonces puedes usar simples consultas, no creo que tengas problemas con ello.
Aunque no sabemos si serán BD muy grandes los que traes todos los días y tardes mucho en restaurarlas, no tenemos ninguna información, salvo la que tú has dado.


La franja horaria es GMT +2. Ahora son las 12:30:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi