Subject | Re: [firebird-support] More on database corruption (again) |
---|---|
Author | Jonathan Neve |
Post date | 2004-04-05T06:34:02Z |
Alan McDonald wrote:
will be written in the order the database server gives them to it, and
that every block write is atomic, then if the server dies suddenly
whilst it's writing to the disk, some of the blocks might not have been
written yet, but at least everything that has been written is
consistant, and therefore shouldn't cause any database corruption. As
far as I understand it, this is how ForcedWrites works (by using
synchronous writes). On a FS that garantees the order of asynchronous
writes, don't you think it would be safe to turn ForcedWrites off, thus
gaining a lot of performance?
Also, I read that ReiserFS v.4 is going to introduce an explicit
transaction-handling API. If this was used, a FireBird transaction could
be made to correspond to a FS transaction...
Thanks!
Jonathan Neve.
[Non-text portions of this message have been removed]
>>Hi again!Well, that's what I thought Ann was saying. But perhaps I misunderstood...
>>
>>There's one little point I forgot to make in my previous post.
>>
>>There are now filesystems that garantee the order of asynchronous write
>>(LinLogFS, and, I think, ReiserFS v4). On such file systems, would it be
>>safe to turn ForcedWrites off, thus gaining a lot of performance?
>>
>>Thanks!
>>
>>Jonathan Neve.
>>
>>
>
>I don't think it's the order per se that's important as much as it is the OS
>making untimely writes.
>
>Forced writes on Windows is important becauseDo you mean that it's not as important under Linux?
>windows will cache it's writes and it is not as reliable as Linux in the
>server stakes.
>
>Let's not forget that OS's do not know how to recognise theOf course. But why does this matter? If the FS garantees that blocks
>boundary of database transactions. The database server is the only thing
>which knows this.
>
>
will be written in the order the database server gives them to it, and
that every block write is atomic, then if the server dies suddenly
whilst it's writing to the disk, some of the blocks might not have been
written yet, but at least everything that has been written is
consistant, and therefore shouldn't cause any database corruption. As
far as I understand it, this is how ForcedWrites works (by using
synchronous writes). On a FS that garantees the order of asynchronous
writes, don't you think it would be safe to turn ForcedWrites off, thus
gaining a lot of performance?
Also, I read that ReiserFS v.4 is going to introduce an explicit
transaction-handling API. If this was used, a FireBird transaction could
be made to correspond to a FS transaction...
Thanks!
Jonathan Neve.
[Non-text portions of this message have been removed]