FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cita:
Aqui el punto era que cuando el garbage collector entraba a hacer su trabajo, dejaba la base de datos practicamente bloqueada, y te repito esto en cuestion de horas, claro que para mi cliente se tornó inoperante, y con esto te respondo que no fue por gusto ni mucho menos, y si tienes toda la razon cuando dices que deberia de ser una base de datos pequeña, dado su volumen de transacciones. Y Precisamente esto es para mi lo mas preocupante, que teniendo instalacion que superan por mucho, muchisimo a esta, se presenten estos problemas. Y como al final del día esto se trata de dinero, lo mejor para mi este caso fue cambiar el motor de base de datos, y santo remedio para mi cliente que hoy dia ya está feliz con su sistema. Pero me queda esta espina clavada de porque sucedio esto, en fin, no es para convencer sino para exponer la problematica que es real y reproducible con dicha base de datos. Saludos.
__________________
Ya tengo Firma! |
#2
|
||||
|
||||
Yo esto de la "basura" con FB no lo tengo muy claro, ¿qué es? ¿registros borrados que no se reutilizan? ¿archivos temporales que mueren y no se entierran?. ¿Alguien me ilumina?
Saludos
__________________
Be water my friend. |
#3
|
||||
|
||||
La arqutectura multi generacional. Firebird maneja varias versiones para un mismo registro al mismo tiempo, para que cada transacción tenga su propia versión, su propia "imagen" de la realidad. Así es posible, por ejemplo, poder leer siempre sin "molestar" a los que escriben. Y los que escriben no molestan a los que leen.
Ejemplo básico: alguien hace una actualización (update) de un registro y otra persona está leyéndolo (select), pues hasta que el que está actualizando no confirme los cambios (commit), el que está leyendo seguirá viendo lo que había hasta que el otro confirme. Es por lo que cada vez que se realiza cualquier acción sobre la base de datos, esta va creando registros "imágenes" de la "realidad" justo en ese momento, de esa forma no es necesario, por ejemplo, bloquear registros, ya que cada uno tiene una imagen del momento en que realiza cualquier acción. Existe un mecanismo que cada cierta cantidad de registros que ya no sirven se deshace de ellos, aunque es configurable para ponerlo a más o menos registros, incluso para deshabilitarlo y sólo se realizará cuando nosotros lo queramos. Por eso decía que no es ningún problema, simplemente funciona asi, y no importa que crezca la base de datos, toda la vida ha sido así, siempre ha funcionado así, es una de las características que tiene firebird, la MGA (multi generational architecture). Y que otros han copiado. |
#4
|
||||
|
||||
Entonces imagino que el tema de la "basura" no debería de preocupar al administrador de la base de datos porque ella misma se va limpiando, ¿no?. Te pregunto porque veo que es habitual entre muchos usuarios de FB el hacer y restaurar copia de seguridad para eliminarla.
__________________
Be water my friend. |
#5
|
||||
|
||||
Exacto, se elimina automáticamente y el espacio desocupado se reutiliza para nuevos registros.
Cuando se hace backup/restore se eliminan también y no se restauran. Es configurable, por defecto "limpia" cada 20.000, pero puedes poner el valor que quieras, o deshabilitarlo y hacerlo cuando tú quieras. Para contestar a tu pregunta: no tienes que hacer nada, no hace falta un administrador que se preocupe de eso, es automático. Nunca jamás me he preocupado por ese asunto, ningún cliente se ha preocupado nunca por eso. Lo más que recuerdo es que alguien diga: Oye, que la base de datos crece mucho ¿Y cuánto mide ahora? Ocupa 0,7 Gb. ¿Y De cuánto es el disco? De 500 Gigas Bien, pues todavía puede crecer 700 veces ese tamaño ¿Entonces no me precoupo? Preocúpate de vender y ganar dinero para pagarme a mí |
#6
|
||||
|
||||
Cita:
// Saludos |
#7
|
||||
|
||||
Yo he tenido clientes donde se ha dañado la base de datos firebird, he identificado que ha ocurrido en en dos casos muy puntuales, una vez fue por un daño eléctrico del equipo y la otra vez fue por un mal manejo de copias de seguridad, ya que copiaban con un "control c" "control v" en caliente la base de datos, a tambien otra vez que trataron de abrir con word el archivo .fdb
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#8
|
||||
|
||||
Ya veo al usuario con el "documento" abierto, presionando Ctrl+Fin y agregando las ventas del día.
En el caso de usar el juego de clases dbExpress-TDataSetProvider-TClientDataSet, los errores emitidos por el motor de base de datos pueden ser manejados en el evento TDataSetProvider.OnUpdateError, o bien en el evento TClientDataSet.OnReconcileError. Esto sucederá al enviar los registros al servidor, y éste encontrar algún problema que impida guardar los cambios.
Cabe mencionar que ApplyUpdates no se rompe por la excepción generada, siempre devuelve un entero que indica la cantidad de registros que no pudieron ser "aplicados" a la base de datos. Bueno, pero no asustemos al amigo AzidRain con historias de sucesos extraños. Aunque personalmente no he llegado por el momento a manejar en Firebird la cantidad de registros que él menciona, lo cierto es que los testimonios sobre Firebird en la Red son bastante alentadores. Así que el manejo de cientos de miles o millones de registros no debe representar problema alguno para este motor, siempre que se tengan los cuidados mínimos que se sugieren con cualquier base de datos. Saludos. Al González. |
#9
|
||||
|
||||
Pues ya me ha pasado varías veces que al ir a la carpeta donde tengo el programa instalado lo veo con la opción para abrir o con word o con acrobat reader... Me los imagino viendo la estructura del archivo y pensando... "esto debe ser la tal encriptación de la que hablan en las películas de computadores... "
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#10
|
||||
|
||||
Eso eso, porque con esa filosofía y en este caso se venderá el artículo sin haber.
__________________
Be water my friend. |
#11
|
||||
|
||||
Cita:
Cita:
|
#12
|
||||
|
||||
Gracias Creo que ya lo veo más claro. Con el MGA se maneja en automático el bloqueo optimista: pensar que no va a pasar nada, y si pasa ya me lo avisa después anulando mis cambios.
Ya en delphi, ¿como se maneja esto? ¿Con un evento OnPostError? ¿O cómo? // Saludos |
#13
|
||||
|
||||
Cita:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta Desde->Hasta | Luis M. | Firebird e Interbase | 6 | 30-07-2008 19:40:34 |
...hasta el diez... | Jure | Humor | 9 | 30-11-2007 12:27:43 |
Hasta los co... de Rave Report! | Peterman | Impresión | 14 | 21-08-2007 15:00:25 |
Discos DVD de hasta 1.6 Terabytes | Crandel | Noticias | 0 | 29-11-2005 20:57:17 |
Hasta la mierda es noticia. | marcoszorrilla | Noticias | 6 | 21-11-2005 21:00:53 |
|