Subject Re: RE: [IB-Architect] Journaling support?
Author Jason Wharton
>1. Drive failure could leave you without any file. Shadowing
>or mirroring could solve this, but for a very large database
>it's quite expensive.

InterBase does shadow databases but I think that the shadow is required to
be on the same physical machine, just a different volume? Perhaps it allows
a connection to another machine on the LAN at the cost of performance I'm
sure. Anyway, I think IB has this one covered sufficiently.

>2. It doesn't help for situations where human errors or acts
>of malice force you to restore the database to a point in the
>past, hopefully not too distant ;-)

Unfortunately InterBase does not cover this one very well at present. I have
been promoting some features that would most like allow InterBase to be more
usable in a huge database, 24X7 environment.

Since IB is a versioning engine I have for a log time been promoting the
idea of named freeze points that an administrator could establish. Then,
backups could be performed based on freeze points so that if you had a very
huge database a daily backup wouldn't force an entire backup of the whole
database but just since the last freeze point. Then, if a failure ever took
place it would only be a matter of restoring the backup to the freeze point
and then the last difference backup from that point.

In anticipation of a failure a pre-restored base version could be ready and
waiting on the backup hardware so then is all that would have to be done is
apply the most recent diff backup and you would be good to go.

Another benefit of the freeze points is that you could do an administrative
level rollback. This would allow a DBA to say roll this database back to the
named freeze point, such and such.

Thinking a little for the folks who would implement this in the kernal of
InterBase (since I'm not a C programmer it won't be me unfortunately) This
obviously affects the garbage collection process quite a bit. Obviously,
some garbage collection would not take place in order to preserve the saved
freeze points. But, there would still be a certain amount of tidying up to
consolidate records changes between freeze points. If one record was changed
10 times from point A to point B it is really only necessary that the state
at point A and point B remain in the database. The other intermediate
changes would need to be garbage collected.

This is just one little part of my "Enterprise InterBase" vision...

I have every reason to believe that InterBase could be made to compete with
the likes of Oracle... Perhaps not head to head but... Why think small? I
think InterBase has a lot of head room to grow into with the right pieces
put in place.

Jason Wharton
InterBase Developer Initiative

InterBase will be the database of the new millennium.