Subject | Re: [firebird-support] Why write async is bad ? |
---|---|
Author | Ann Harrison |
Post date | 2012-01-10T21:08:43Z |
Stepane,
writes database pages in a specific order to avoid dangling pointers.
Asynchronous writes are done in the order that the operating system
finds convenient. That is not a good idea. If you have a system
crash, the database on disk is likely to be corrupt and difficult, if
not impossible to recover.
irrecoverable corruption is a pretty serious drawback.
Good luck,
Ann
>Firebird's internal consistency depends on "careful write" - Firebird
> when i setup write async to true, it's mean the the database will store
> in memory the write and after several update (5 by default?) all the write will be flush to
> the disk.
writes database pages in a specific order to avoid dangling pointers.
Asynchronous writes are done in the order that the operating system
finds convenient. That is not a good idea. If you have a system
crash, the database on disk is likely to be corrupt and difficult, if
not impossible to recover.
>No, I wouldn't consider that the main drawback. Potentially
> The main drawback, is that all the write are flush to the disk using the
> current connection thread :(
irrecoverable corruption is a pretty serious drawback.
> i was thinking that it's a separate thread that was responsible to flushIs it wrong to live dangerously? Maybe so, maybe not.
> to disk :( or i m wrong?
Good luck,
Ann