Are there any databases really durable?
The problem depends on whether or not you can instruct the HDD/SDD to commit transactions to durable media. If the mass storage device does not have the facility to flush to durable media, then no data storage system on top of it can be said to be truely durable.
There are plenty of NAS devices with built in UPS however and these seem to fit the requirement for durable media - if the database on a seperate server commits data to that device and does a checkpoint then the commits are flushed to the media. So long as the media survives a power outage then you can say its durable. The UPS on the NAS should be capable of issuing a controlled shutdown to its associated disk pack, guaranteeing permenance.
Alternatively you could use something like SQL Azure which writes commits to multiple (3) seperate database storage instances on different servers. Although we have no idea if those writes ever reach a permenant storage media, it doesnt actually matter - the measurement of durability is read-repeatability; and this seems to meet that requirement.
Does Linux guarantee the contents of a file is flushed to disc after close()?
From "man 2 close
":
A successful close does not guarantee that the data has been
successfully saved to disk, as the
kernel defers writes.
The man page says that if you want to be sure that your data are on disk, you have to use fsync() yourself.
Related Topics
Fatal: Bad Config File Line 1 in /Home/Trx/.Gitconfig
How to Find the Particular Text Stored in the File "Data.Txt" and It Occurs Only Once
How Do Programs Communicate with Each Other
Why Does This Movq Instruction Work on Linux and Not Osx
Linux /Bin/Sh Check If String Contains X
How to Install Visual Studio 2015 in Ubuntu
How to Find List of Odbc Drivers Installed on Linux
Dlopen Failed: Cannot Open Shared Object File: No Such File or Directory
Converting a Pcap Trace to Netflow Format
How to Break an Arbitrary Tcp/Ip Connection on Linux
Addresses of Thread Local Storage Variables
How to Redirect the Telnet Console Logs to a File Linux
Bash: No Such File or Directory
How to Tell If Running in a Linux Console Versus an Ssh Session
Looping Through Lines in a File in Bash, Without Using Stdin
Configure Options for Building Mingw-64 on Linux-64 for Linux-64 (Ultimately Targetting Windows-64)