Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   De paradox a Sqlite o firebird? (https://www.clubdelphi.com/foros/showthread.php?t=71234)

algendar 08-12-2010 14:57:16

De paradox a Sqlite o firebird?
 
Saludos,
Tengo una aplicación hecha con delphi 4 que lleva varios trabajando con tablas paradox, la aplicación va creciendo con nuevas versiones por necesidades que surgen a menudo y tambien aumentan las tablas y los registros. En estos momentos estoy usando unas 50 tablas, algunas tienen pocos registros (5 - 10) y otras tienen mas de 5000 registros. La aplicación es local y debe seguir creciendo. En algunas consultas paradox se esta volviendo algo lento y tengo dudas en una consulta concreta si el resultado es correcto.
Me estoy planteando usar otra base de datos , he provado algo Sqlite y Lazarus, de momento prefiero seguir delphi aunque Sqlite me esta pareciendo sencillo su uso e instalación, dudas:
1.- Mejorará Sqlite o firebird la velocidad y fiabilidad de consulta?.
2.- Existen programas para trasladar los datos desde paradox?, son fiables ( datos, indices, etc...)?.
3.- Accedo a los datos desde DBE (tQuery, TTable), ¿Tendre que replantear todo el programa con nuevos componentes ?, tengo pereza de volver a programar el DataModule con más de 50 componentes y sus correspondientes procedimientos.
4.- Es compatible el SQL-92 de paradox con SQlite o Firebird?.

Gracias

Casimiro Notevi 08-12-2010 15:22:08

Hola, para empezar, paradox es una base de datos de "escritorio" y firebird es un sistema de administración de base de datos relacional (o RDBMS)
es una auténtica DB "cliente/servidor". (Descarto sqllite porque para usar ella, mejor entonces firebird).

Dices que no estás seguro de si algunas consultas que haces los resultados son correctos, eso dependerá de tus consultas, todas las bases de datos te darán los resultados que tú pidas.

Cita:

Empezado por algendar (Mensaje 384374)
1.- Mejorará Sqlite o firebird la velocidad y fiabilidad de consulta?.

La velocidad, no sé cómo de rápido es tu programa, pero cualquier consulta sql con los registros y tablas que tienes... debe ser instantánea. ( 5000 registros no es nada, mis clientes manejan decenas de millones de registros por tabla y las bases de datos son de varios gigas, antes comenté en otro hilo que un cliente ya ha alcanzado los 25 Gigas)

Cita:

Empezado por algendar (Mensaje 384374)
2.- Existen programas para trasladar los datos desde paradox?, son fiables ( datos, indices, etc...)?.

Normalmente puedes hacerlo mediante IBpump, por ejemplo, creas la estructura y luego con estos programas te pasan los datos a la nueva base.
Tan sólo puede que tengas que ajustar algún detalle, pero normalmente no hay problema.

Cita:

Empezado por algendar (Mensaje 384374)
3.- Accedo a los datos desde DBE (tQuery, TTable), ¿Tendre que replantear todo el programa con nuevos componentes ?, tengo pereza de volver a programar el DataModule con más de 50 componentes y sus correspondientes procedimientos.

Sí, sería conveniente usar algo más moderno porque lo que usas es de hace más de 12 años. Puedes usar zeoslib, ibx, fibplus, etc. Tampoco creas que es muy complicado sustituirlos. Y procura olvidar las TTable y usar Querys

Cita:

Empezado por algendar (Mensaje 384374)
4.- Es compatible el SQL-92 de paradox con SQlite o Firebird?.

Con firebird, Sí.

p.d.: y bienvenido a clubdelphi. ¿Has leído ya nuestra guía de estilo?.

algendar 10-12-2010 00:18:15

Hola,

Gracias por responder tan detalladamente, creo que me has convencido a usar firebird.
Me bajaré el firebird y antes de retocar el programa intentaré trastear un poco para conocer el funcionamiento.
¿Alguna preferencia en componentes para acceder a lo datos?

P.D. Ahora he leido las normas, gracias

Casimiro Notevi 10-12-2010 00:42:25

Cita:

Empezado por algendar (Mensaje 384522)
[..] ¿Alguna preferencia en componentes para acceder a lo datos? [..]

A mí me gusta fibplus, aunque no son gratis, cuando pagas te entregan el código fuente, algo que es esencial tener siempre.
Como he dicho antes, puedes usar las que trae delphi, las IBX, y puedes instalar otros como zeoslib, aunque hay más, haz una búsqueda por clubdelphi sobre componentes de acceso a datos firebird y ve sacando conclusiones :)

rretamar 12-12-2010 05:41:52

Firebird y SQLite son para usos distintos. Firebird es un verdadero motor SQL "full multiusuario", mientras que SQLite es más bien para aplicaciones monousuario. Al respecto, pego un texto que puse hace un tiempo en otro tema del foro:

Cita:

Empezado por rretamar (Mensaje 333654)
Un detalle importantísimo a tener en cuenta a la hora de decidir si se puede usar SQLite o no es el siguiente: SQLite tiene la filosofía de "uno escribe, muchos leen". Cuando se está escribiendo en la base de datos (aunque sea durante pocos milisegundos) el archivo completo se bloquea. Por ende se permite una única escritura por vez. Si esto no es un impedimento, adelante. De lo contrario, es mejor ir directamente a una solución sin estos inconvenientes, como Firebird.

SQlite es apto para uso:

* Monousuario, preferentemente.
* Monopuesto (en parte por el punto anterior).

El motor embebido de Firebird tiene la misma limitación (bloqueo de la base de datos).

En cambio, la versión normal de Firebird es un verdadero motor SQL multiusuario que sí permite múltiples accesos concurrentes de escritura y/o lectura. Paradox es obsoleto, y según el tipo de aplicación (monopuesto o multipuesto) cualquiera de estos motores lo reemplaza con muchas ventajas.

algendar 29-12-2010 01:10:14

[quote=Casimiro Notevi;384375]


Sí, sería conveniente usar algo más moderno porque lo que usas es de hace más de 12 años. Puedes usar zeoslib, ibx, fibplus, etc. Tampoco creas que es muy complicado sustituirlos. Y procura olvidar las TTable y usar Querys



¿ Y como hago las realciones master -> detail ?


La franja horaria es GMT +2. Ahora son las 16:41:46.

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