Subject | Re: Re[2]: [IB-Architect] Classic vs. superserver (long, very very long) |
---|---|
Author | Ann W. Harrison |
Post date | 2002-10-13T20:32:35Z |
At 03:21 PM 10/13/2002 +0400, Nickolay Samofatov wrote:
be. The problem that concerns me is the need to write pages in
a particular order to insure database transaction consistency and
the integrity of internal structures. If, for example, an index
entry is flushed but the corresponding data page is not, you've
got a corrupt database.
which the Firebird cache does. If a page write will cause a loop,
the Firebird cache writes out the relevant pages. The file system
hasn't a clue about that sort of thing, and will write the pages
in what it considers a reasonable order - which may not be correct
for the database.
pages in a specific order.
Regards,
Ann
www.ibphoenix.com
We have answers.
>1. Both systems use filesystem transactionional journals and allow you toI'm not at all sure what a file system transactional journal might
>mark consistent state of data there.
be. The problem that concerns me is the need to write pages in
a particular order to insure database transaction consistency and
the integrity of internal structures. If, for example, an index
entry is flushed but the corresponding data page is not, you've
got a corrupt database.
>They also allow you to precisely control cache flushing.But they don't detect loops in the database page dependency graph,
which the Firebird cache does. If a page write will cause a loop,
the Firebird cache writes out the relevant pages. The file system
hasn't a clue about that sort of thing, and will write the pages
in what it considers a reasonable order - which may not be correct
for the database.
>2. If you bypass filesystem level by using raw devices you still can controlNo problem with raw disks - they respond nicely to requests to write
>hardware disk cache via ioctl.
pages in a specific order.
>3. Anyway, modern SCSI controllers have large hardware caches and you'llBut, as you said earlier, "shit happens."
>[only] get corrupted database in case of power
>failure (built-in battaries or UPS'es are used to prevent this).
Regards,
Ann
www.ibphoenix.com
We have answers.