Subject Re: [IB-Architect] Fw: [ib-support] One interesting idea (fixme if I'm wrong)
Author Boguslaw Brandys

> At 07:56 AM 9/5/02 +0200, Boguslaw Brandys wrote:
> >
> >As I understand You are talking about a journal to separate process (an
> >later to an external file). This would be great for some replication
> >(one database is Master another - Slave like in MySQL) and if sources
> >exists in Firebird it is quite enought I think to build internal
> >, so my idea would be worth not much. (IBReplicator exist but it is not
> >Source and free as I know. Could it be based on journaling process You
> >mention ?)
> I suppose it could be used for physical replication, but a modest
> extension to shadowing would be simpler and better. If you're
> trying to maintain any sort of consistency, you need something
> much smarter.
> >I was thinking about something different : how to use existing feature of
> >Interbase (record versioning) for avoid redo log completly.
> >Unfortunately I don't know InterBase source quite well, I'm rather
> >manager and use InterBase as a programmer so maybe I misreported
> >The idea was to sign each record (or each transaction in TIP - keep in
> >that I don't know sources so I don't know what is better) with current
> >server timestamp and don't let database engine to throw away old
> >versions of record (as usual even without sweep) which timestamp is above
> >some limit (for example Now() - 12 hours).
> >This of course will cause database to grow fast (if this option is used)
> >allow to get snaphot of records below requested timestamp (so it is
> >redo log).
> >
> Deferring record garbage collection would have a catastrophic effect
> on performance on any volatile database.

I agree that large size of database would be a problem ,but most of old
committed records would only for redo log (for any other aspects would be
invisible much more like roolback'ed ones , only wasted space) .Well, if it
is a performance problem ,information about committed versions could be
written into some internal table in case of internal garbage collection, but
I insist that versioning still have journalling "inside" (we should only
find the simplest way to get info about binding record transaction number
with timestamp) .
I hope You understand what I think in spite of my poor English ;-)

> I trip through the archives
> would probably spell out the details.

Best Regards