On 12 Sep 2014, at 7:08pm, Nico Williams <n...@cryptonector.com> wrote:
> On ZFS datasets with sync disabled fsync() functions as osync(), as a write > barrier without durability and without the associated penalty. The obvious > problem is that really do need osync() and fsync(); just one or the other > is not a reasonable compromise. Yep. However ... If you do it right, and you don't have an extra layer of hardware doing your write barrier, you sacrifice speed. No exceptions. Today's computers -- the desktop or laptop every one of us has -- are tensed to the eyebrows with time-optimization dodges. Many of those defeat any opportunity for in-order-writing. I don't think it can be done by trying to build it on top of an existing file system. I think we need a file system (volume format, drivers, etc.) built from the ground up with atomicity/ACID/transactions in mind. Since the greatest of these is transactions, I want a transactional file system. Some years ago I ordered a very fast server-class Wintel computer with all components specced for use with safety-critical server use. Having set jumpers on the motherboard and hard disk for "do it properly, don't acknowledge a write until the data is on the disk" I installed a standard copy of Windows (I think) and Microsoft Office on it. It was unusably slow. Something like 5 minutes to boot and another 5 minutes to get a blank document showing in Microsoft Word. I'm not talking about the initial setup boot, I'm talking 5 minutes for every boot, and 5 minutes to wait every time you start Word. Typing into Word got about 3 characters a second which lags behind my standard typing speed quite a bit. It made for a very convincing demonstration. This is not a gripe at Microsoft. It wasn't the software's fault. It's what you get when you defeat all the speed optimizations we expect these days. Or ten years ago when I did the experiment. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users