Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Aquí gana Paradox frente al Firebird (https://www.clubdelphi.com/foros/showthread.php?t=85356)

bulc 06-03-2014 22:49:15

Aquí gana Paradox frente al Firebird
 
He hecho una aplicación para pasar todas las fotos de un álbum familiar a una base de datos. Primero (ya hace unos años) la hice en Paradox. Se tragaba unas cuatrocientas fotos junto a cuatro campos VArChar(30) sin inmutarse. Y el paso de foto en foto va como una bala.
Al pasarlo a Firebird veo que no carga todos los registros, sino que debo limitar el Pack del ClientDataSet para que no se agote la memoria. Me salía el error
'Error catastrófico'. Asi que he tenido que poner un botón asociado a los años e ir sacando las fotos con un Query por años. Así se agiliza la carga de registros por parte del CDSet y funciona bien, pero se pierde esa posiblidad de recorrer la tabla de foto en foto, tranquilamente.
El caso es que para ir pasando de registro en registro parece ir mejor con Paradox. Me deja asombrado que Pdox pueda cargar todo de un bocado. ¿Hasta dónde podría llegar en número de registros? Me refiero a Pdox.
Ya supongo que en bases de datos comerciales prima la búsqueda de unos pocos frente a toda la tabla, claro. Pero no es así en el caso que cito.
En fin, ¿qué futuro les queda a los que usan Paradox?. ¿Se puede pasar del BDE para instalar las tablas planas en Windows 8, por ejemplo? ¿Qué otras posibilidades existen para esta tabla plana?
Un punto a debatir, si os apetece.
Espero que alguien me diga su parecer al respecto.
Atentamente,
bulc

Casimiro Noteví 06-03-2014 23:44:15

No es por molestarte, pero si te dan la raqueta de Rafa Nadal es seguro que no le ganas a Federer, y si te dejan el coche de Vettel es seguro que no le ganas a Alonso, pues lo mismo.
Tengo clientes con bases de datos de decenas de gigas y tablas con cientos de millones de registros (con fotos incluidas), en firebird. Y no tienen ningún problema de velocidad.

Neftali [Germán.Estévez] 07-03-2014 14:44:45

Me da la impresión (si no he entendido mal) que el problema que comentas en todo caso es del TClientDataset (que en este caso no se si es necesario) y tú lo estás achacando a Firebird. Tal vez la forma de conectarte no sea la más óptima.
Tampoco comentas qué componentes estás usando para conectarte en ambos casos.

Personalmente por cómo están actualmente no creo que sea buena idea (compatibilidad) instalar BDE/Paradox y similares en Windows 7/8...

Si quieres Bases de datos simples y sin complicaciones puedes usar alguna versión "embebida" de FB o de Interbase. O incluso algo como SQLite.

bulc 08-03-2014 12:55:22

Muy ilustrativa tu respuesta, gracias
 
Para conectarme a Fbird uso IBDataBase, IBTransaction, IBQuery, DataSetProvider, ClientDataSet y DataSource en localhost. He notado que a partir de los ocho mil registros se ralentiza un tanto el insert,
no así la búsqueda que es igual de rápida que la de los primeros registros. De todos modos estoy intentado basar la conexión en componente IBExpress pero aún lo tengo un poco verde.

Casimiro Noteví 08-03-2014 13:17:23

Delphi, conexión firebird con IBX

newtron 09-03-2014 09:18:34

Independientemente de lo que comentáis yo particularmente creo (y tengo comprobado) que las tablas de escritorio (Foxpro, DBase...), cuando no tienen decenas de miles de registros, son bastante más rápidas que las bases de datos cliente/servidor (Firebird, SQL Server...).

Otra cosa es si hablamos de estabilidad, robustez, funciones añadidas, etc.

Saludos

RONPABLO 09-03-2014 16:14:18

Cita:

Empezado por newtron (Mensaje 473505)
Independientemente de lo que comentáis yo particularmente creo (y tengo comprobado) que las tablas de escritorio (Foxpro, DBase...), cuando no tienen decenas de miles de registros, son bastante más rápidas que las bases de datos cliente/servidor (Firebird, SQL Server...).

Otra cosa es si hablamos de estabilidad, robustez, funciones añadidas, etc.

Saludos

Yo también lo noté, yo tenía mi base de datos en Paradox y funcionaba muy rápido, el problema era que esta rapidez se perdía al ir creciendo la base de datos, mientras Firebird (o MySQL en ese momento) seguía funcionando como cuando apenas tenía cientos de registros. Además que en un mes con unos 30 o 40 clientes con mi aplicación me tocaba que arreglar una o dos corrupciones de tablas

gatosoft 16-03-2014 02:56:07

yo respecto bastante a Paradox, pues lo vi funcionar "muy bien" y por muchos años, a pesar de ser un proyecto abandonado a su suerte por borland hace miles de años.

Siin embargo los problemas asociados a su mantenimiento y estabilidad no compensan cualquier "punto positivo de performance" que podamos verle.

cuando digo que funciona "muy bien" y tiene "buen performance" lo hago desde un punto de vista relativo, pues creo que en general podría compararlo solo con sus hermanos (qeue prefiero no mencionar)

Sin haber trabajado realmente en Firebird, creo que estas juzgando demasiado rápido su potencial y desempeño. Y como muchos aqui creo que hay algo que no está bien ajustado en tu modelo de conexión o de trabajo.

Como sugiere Neftalí... ¿Y si el problema es el ClientDataset?. Recuerda que éste componente trabaja datos en memoria y además siempre guarda un Delta, es decir una copia de los datos. no obstante la mayoria d eproblemas asociados a éste componente están tambien relacionados con la costumbre heredada de programadores paradox de utilizar como caballito de batalla el componente TTable para todo. que desde mi punto de vista debería ser un componente prohibido.

Bueno, no queria sonar agresivo, (ya que ahora que leo de nuevo me lo parece), solo es un comentario de amigo.

bulc 16-03-2014 16:29:19

Definitivamente me quedo con Firebird...
 
que es mucho más ambicioso. Lo que pasa es que los aficionados tenemos la manía de pasar registros como si fueran cromos y claro ese no es el tema.
Mejor seleccionar que acumular. Debido a este defecto saturamos el ClientDataSet de tal manera que llega a agotar toda su capacidad de cargar registros.
Es lo que me ha enseñado la práctica. He aprendido a ir sacando los registros por letra inicial, por años, por número pero siempre con un número limitado.
De esta manera evito que me salga el "Error catastrófico" y el rendimiento es muy satisfactorio. Tan sólo se ralentizan los Insert como resultado de muchos registros. Eso es todo, en cuanto a inconvenientes. Todo lo demás (búsquedas, etc) van muy bien.
Y reconozco que el Paradox está ya fuera de onda. Aparte que la instalación del BDE se las trae para algunos sistemas.
Cada vez me encuentro más cómodo con Firebird, la verdad. Así que lo dejo así. Gracias por tu opinión y el tono tan respetuoso de tus notas.
Saludos,
bulc

fjcg02 16-03-2014 16:36:27

Hola,
si además como indica Neftalí utilizas la versión embebida de Firebird, con creo que 8 ficheros necesarios para su buen funcionamiento, puedes distribuir tu aplicación de una forma muy sencilla.

Un saludo


La franja horaria es GMT +2. Ahora son las 06:44:02.

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