Is file system based database reliable ?
Posted in 1999
Topics: Performance & Tuning, Platform-Specific Issues
Hi all ! Sorry for silly question: how reliable is Informix database implemented as cooked files ? Documentation says that it is less reliable that raw devices, since database could not guarantee writing to the media - nonsense, there is fsync(2) system call and O_SYNC flag for open(2). At least Oracle did not make such statement. Raw devices in Oracle are using for enhanced performance and for special environments such as Parallel Server. I am evaluating IDS usage in Linux environment but I afraid that database reliability will be low (Linux does not support raw devices). Thanks in advance. Timofey Kutergin
Tim Kutergin wrote: > > Hi all ! > Sorry for silly question: how reliable is Informix database implemented as > cooked files ? Documentation says that it is less reliable that raw > devices, since database could not guarantee writing to the media - > nonsense, there is fsync(2) system call and O_SYNC flag for open(2). At > least Oracle did not make such statement. Raw devices in Oracle are using > for enhanced performance and for special environments such as Parallel > Server. I am evaluating IDS usage in Linux environment but I afraid that > database reliability will be low (Linux does not support raw devices). No that reliability stuff is an old documentation holdover from Ver 1.2 which has never been corrected. IDS DEFINITELY opens cooked files in O_SYNC mode and your data is perfectly safe as long as the OS drivers and library properly implement that flag. The ONLY problem with using cooked files for Informix is that performance is about 15% better with RAW devices. Art S. Kagel
Tim Kutergin wrote: > Hi all ! > Sorry for silly question: how reliable is Informix database implemented as > cooked files ? Documentation says that it is less reliable that raw > devices, since database could not guarantee writing to the media - > nonsense, there is fsync(2) system call and O_SYNC flag for open(2). At > least Oracle did not make such statement. Raw devices in Oracle are using > for enhanced performance and for special environments such as Parallel > Server. I am evaluating IDS usage in Linux environment but I afraid that > database reliability will be low (Linux does not support raw devices). > > Thanks in advance. > Timofey Kutergin One thing to note, I'm a big fan of Linux, but it currently doesn't support synchronous I/O (as of 2.0.X, i'm not sure about 2.2.X). -- Colin Smith Cellular Subscriber Sector Europe Colin_Smith@euro.css.mot.com Phone: +44 (0)1256 790 261
In article <36C09B4A.6248@bloomberg.net>, Art S. Kagel <kagel@bloomberg.net> writes >Tim Kutergin wrote: >> >> Hi all ! >> Sorry for silly question: how reliable is Informix database implemented as >> cooked files ? Documentation says that it is less reliable that raw >> devices, since database could not guarantee writing to the media - >> nonsense, there is fsync(2) system call and O_SYNC flag for open(2). At >> least Oracle did not make such statement. Raw devices in Oracle are using >> for enhanced performance and for special environments such as Parallel >> Server. I am evaluating IDS usage in Linux environment but I afraid that >> database reliability will be low (Linux does not support raw devices). > >No that reliability stuff is an old documentation holdover from Ver 1.2 >which has never been corrected. IDS DEFINITELY opens cooked files in >O_SYNC mode and your data is perfectly safe as long as the OS drivers >and library properly implement that flag. The ONLY problem with using >cooked files for Informix is that performance is about 15% better with >RAW devices. > I thought sometimes O_SYNC only guarantees metadata will be written o the drive, not necessarily the actual data blocks themselves... >Art S. Kagel -- David Williams