Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 09-10-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Llego tarde al tema, pero la idea que propone Mario (mamcx) es sin duda la manera mas adecuada. Lo que el propone se conoce (o al menos, Martin Fowler le pone este nombre) como Event Sourcing. En ese link, el propio Fowler da una introduccion al tema y explica como implementarlo.

El articulo esta en ingles, y como se trata de Fowler, se habla pura y exclusivamente de objetos (POO), pero el concepto es el mismo asi se implemente a nivel BD (usando triggers o disparadores, por ejemplo)

La idea general de Event Sourcing es que todo lo que sea transformaciones de estado (agregar, actualizar o borrar) sea capturado por objetos que el define como "Event Objects". Estos objetos lo que hacen es ir "apilando" los cambios uno atras de otro, llevando un changelog, es decir, en lugar de tener el "ultimo estado" per se, se tiene un registro. Luego para obtener el estado actual, la aplicacion deberia levantar el log, e ir aplicando en orden todos los cambios hasta el ultimo. Tambien explica que esto podria ser lento si son muchos registros para procesar, y como hacer para solucionarlo

Este diseño lleva a varias ventajas:
- Poder reconstruir el estado de la aplicacion: Simplemente levantas todo el log y aplicas todos los cambios a una aplicacion "vacia"
- Consultas a lo largo del tiempo: Es posible preguntar cual era el estado en cualquier fecha, ya que tu aplicacion es capaz de reconstruirse desde el inicio hasta cualquier fecha determinada
- Se pueden revertir cambios: Si una serie de eventos tuvo algun resultado incorrecto, se puede volver al estado inicial "deshaciendo" los eventos en orden inverso, volviendo al estado correcto y a su vez llevando el registro de lo incorrecto

Ejemplos de este tipo de sistema son los que se encargan de versionar el codigo fuente. Git, subversion, mercurial, permiten ver una "foto" de como era tu codigo exactamente hace un año, por ejemplo.
Responder Con Cita
  #22  
Antiguo 10-10-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Hola darkerbyte. Sé que dijiste que los resultados no parecen obedecer a un patrón lógico. Pero intentemos determinar la función matemática que representa a esas discrepancias.

9.7 - 0.5 da 6.2 (como si se restara 0.5 siete veces).
...(Coloca más líneas así con valores de la misma operación, incluyendo los que sean correctos. Sospecho de las decimales.)

Última edición por Al González fecha: 10-10-2016 a las 15:20:10.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Alguién conoce una solución simple y confiable para la WebCam en Delphi ? rolandoj Gráficos 8 27-05-2013 09:53:56
Sincronizar BD MySQL Hosting con BD MySQL servidor local ivantech MySQL 3 09-03-2010 19:01:07
Componente confiable para pasar voz a texto!! JuanErasmo C++ Builder 1 06-05-2006 01:20:13
como conectarme remotamente mysql a mysql sakuragi MySQL 14 11-11-2004 15:04:46


La franja horaria es GMT +2. Ahora son las 14:44: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
Copyright 1996-2007 Club Delphi