Subject Re: Some enhancements to NBackup to allow backups more often
Author m_theologos
--- In Firebird-Architect@yahoogroups.com, "Leyne, Sean" <Sean@...>
wrote:
>
>
> > Sorry Dimitry, I don't understand very well. AFAIK, NBackup will
log
> > on _ON_THE_DATABASE_ as another user (thus, in the classic mode
will
> > create another process) will issue an ALTER DATABASE BEGIN BACKUP,
> > do his job in HIS transaction,
>
> Actually, NBackup while executing the backup does not have a
transaction
> open. The backup is performed outside of a database transaction.
>
> The nbackup does not care about transactions, it only cares about
> changes to db pages.
>

So, it hasn't nothing to do with multiple instances of classic
servers, since the database is in the stalled state, so no changes
are made on the file.

>
> > Another very important thing, regarding to the Sean's message,
this
> > will be a very important advantage IMHO rather than creating/
closing
> > server processes only to do an incremental backup (which is the
case
> > in classic mode) which will be a very important speed gain.
>
> The time is takes to start the nbackup process is insignificant when
> compared to the processing required to read and inspect the header
of
> each database page for changes.
>

I'm talking here about the creating of a (classic) server process and
the log on it since the NBackup is a user, not mainly about the cost
of creating the NBackup process. Also if the NBackup is already
running, on a next iteration the difference file is already opened
with the disk space allocated already (if the code closes it and
frees the allocated disk space, I think that's easy to change that)
in order to gain speed. And also, the previous scanned results can be
cached in order to not scan again each header. But the last one is
only a presumtion since I didn't see the code.

>
> Sean
>

HTH,

m. Th.