Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Firebird+Blobs+Zebedee= volverte loco.

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Firebird+Blobs+Zebedee= volverte loco. Responder citando

Hola,

Tengo una aplicacion q ataca a una BBDD Firebird y tiene instalado Zebedee con compresion 9. Cuando trabajo en remoto los retardos son de hasta 35 segundos. Cuando activo la opcion poFetchBlobsOnDemand=true en el TSQLClientDataSet, las consultas q tardaban 35 segundos solo tiene delays de 3 sg. Con lo que se llega a la conclusion de que el problema esta en los Blobs.

Nota: Los Blobs son de Segmento=1 Subtipo=1.

Pregunta.... Q pasa aqui????

Suponemos que Zebedee comprime tambien los BLOBS, entonces donde puede estar el fallo?. Posible respuesta...

Leyendo en el manual en FetchOnDemand dice que si los BLOBS no los incluye el proveedor en los paquetes de datos entonces el cliente hace un Fetch del BLOB .... de ahi el retardo tan grande..


Alguna idea, solucion o ticket para irme a las Bahamas?


Un saludo.......
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola, pues la opcion Fetched aun que parezca raro, "trae" o forza a traer el contenido de un blob, hasta que se llene el buffer, esto es que si un campo NO se ha pedido tambien se trae, por ello la segunda consulta tarda 3 segundos. la combinación (Firebird+Zebedee) es buena pues en muchos de los casos he visto que es muy funcional. a hora lo que estas haciendo en el componente, (que por lo que se ve es uno de los de la paleta ADO), yo he usado los componentes que vienen en la paleta de interbase y no he tenido ningun problema.

ahora dentro de tu BLOB que tipo de informacion? (por ende los BLOB son para almacenar datos en formato binario) estas almacenando, Graficos, Textos (generalmente tipo MEMO) o Aplicaciones Binarias (exe,pdf, doc, xls, etc etc et)

aun que no es una regla general, pero la documentación de Firebird marca lo siguiente.

sub_type 0 segment size 80 <--- para imagenes, exe,pdf, doc, xls, etc...
sub_type 1 segment size 80 <--- para textos

y la configuracion que uso dentro del programa del Zebede, en un archivo de configuracion. es la siguiente

Cliente->Add("verbosity 2");
Código:
         server false
         detached true
         udpmode false
         listenip 127.0.0.1
         compression zlib:9
         maxbufsize 16383


y no he tenido problemas en traer registro que en su interior contienen hasta 3 blob's, pero reitero, esto lo realizo con la paleta de interbase,

me puedes dar mas detalles en cuanto a lo que estas tratando de realizar?

Saludos y estamos en contacto.
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Estimado Cesar,

He probado tanto en dbexpress como el componente Intebase, ambos me tarda lo mismo. los blobs son de subtipo 1 y tamaño de segmento 1 ( es texto ). El problema es el fetch... te explico:


Te hago un diagrama de lo q aparentemente es la peticion:


Cliente BBDD

Consulta SQL------------------------------------------->
<Tupla1>
<------------------------------------------------Blob1 de tupla 1
.
.
.
.
.

El problema es que los Blobs aparentemente no estan en el paquete de datos que forman la tupla .Donde se demora la consulta (me refiero a consulta desde la peticion hasta la llegada total de datos) es en las peticiones de los blobs.

Hay alguna forma de decirle a la BBDD que los blobs vengan en el paquete de datos junto con los demas datos de la tupla?.


PD: Cuando la consulta te devuelve 30 tuplas no se nota mucho el retardo, pero cuando te devuelve 2000 tuplas y tienes 5 Blobs en cada tupla las demoras se hacen eternas.....


Un saludo y gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Te mando de nuevo el diagrama, creo que hay caracteres que los interpreta de otra forma y ha salido mal en el post anterior....


DIAGRAMA:

Cliente-------------------------------BBDD

Consulta SQL---------------------*

*-------------------------------------Tupla1

Mandame Blob1 Tupla1-----------*

*------------------------------------Blob1 de tupla 1
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Bueno, pues nada, resuelto el problema.....

He cambiado el Blob por un varchar Very Happy (Eso le pasa por hablar con la boca chica ). Ahora solo me tarda 4 segundos traerme 28000 campos. Segun lei por ahi, zebedee funciona bastante bien cuando tienes muchos campos de tipo VarChar.



PD: Sigue sin convencerme que no lleve la opcion de que te traiga los blobs en el mismo paquete.....


Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.