Claro, yo use está forma porque no conocía los checkPoint. También me
parece un poco más engorrosa que la otra, pero me funcionó perfectamente
hasta ahora [*] . Voy a probar con los CheckPoint porque me parece una
buena y hasta quizas un mejor uso de las transacciones.
 
#checkpoint te srive para commitear y seguir laburando en la misma transaccion.
 
Fijate si te sirve eso.
 
Y ojo, no tengas vivas a transacciones que levantaron muchos objetos.
Porque se te vuelve lento el sistema.
 
Cada vez que puedas, tirá la transaccion y abri una nueva.

Vos usas omnibase en alguna aplicación en producción ?
 
Si.

Alguna vez te quedo corrupta una base por algun motivo ?
 
Hubo un par de veces que me PARECIO que quedó corrupta.
Pero era yo que hice cualquiera con las transacciones, y commiteaba despues de haber tenido un error y que varios objetos hayan sido sacados de una coleccion y no agregados a otra.
Pero el problema fui yo.
Hata ahora jamás tuve ese tipo de problemas.
Y siempre tuve ese mismo miedo que vos planteás.
Se ve que se va con el tiempo :)
 
Hasta ahora lo unico que me
da "miedo" es no saber sobre si escala con muchos objetos.
 
El sistema, al dia de hoy, despues de un garbage collect ocupa 50 MB, y es el producto de que el sistema haya estado en produccion durante dos años.
Las colecciones mas grandes son de:
Pacientes: 30000 objetos (uso un ODBBTreeDictionary)
Ventas: 200 x dia, pero estan distribuidas en varias etapas.
La etapa que juntó mas ventas, la etapa de ventas historicas, tuvo un tamaño de: 120000 objetos (unos 18 meses de ventas).Esa coleccion se reseteó porque cambió de nombre la empresa.
Esa coleccion no estaba indexada, y era practicamente inusable por lo que tardaba en levantarse.
Pero la idea no es levantar esos objetos, sino dejarlos ahi.
 
Digo, que va a pasar después de 3 o 4 años de uso del sistema ?.
 
No creo que tenga problemas para esa época.
 
Existen herramientas de reparación por si la base quedara corrupta o voy a tener que hacerlo desde la copia de seguridad ?
 
Hasta ahora, los unicos problemas de corrupcion que tuve, los hice yo mismo.
Te puede pasar que tengas objetos corruptos porque ejecutaste mal algo, eso se arregla "a mano" desde un inspector.
El peor error que te puede pasar es borrar objetos y que dejen de ser referenciados.
En ese caso, lo que a mi me salvo muchas veces es ir al backup del dia anterior, levantar los objetos que perdí, obtener sus ODBObjectID s y levantarlos en la nueva base de datos segun estos IDs.
Ojo, este "truco" te sirve mientras no hagas un GarbageCollect.
 
Asi que recomendacion: hacé backups diarios.
 
[1] Es una app. chiquita, que reemplaza unos macros de excel, debe tener
unos 3 mil objetos (pedidos).
 
OmniBase te sobra para una aplicación asi.
 
Suerte!


--~--~---------~--~----~------------~-------~--~----~
Ha recibido este mensaje porque está suscrito a Grupos de Google "clubSmalltalk" grupo.
 Si quiere publicar en este grupo, mande un correo electrónico a [email protected]
 Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED]
 Para visualizar más opciones, visite este grupo enhttp://groups.google.com/group/clubSmalltalk
-~----------~----~----~----~------~----~------~--~---

Responder a