When I read the post related to the battery-backed disks, I come to this question: What can we improve/reduce if we have them? Since our fsync methods is already be able support that (thought not automatically), we may want to look into other parts. One issue is the xlog and our aim is (1) reduce xlog write requests/size (2) make commit faster.
The key is the number of pages changed by an atomic operation. For operations change only 1 page, then we can assert that if you have written the page, you are safe. So for buffer flush, if we know that this page is the only page changed in atomic operations (no matter how many), we just issue the write without xlog then it is done. For commit, we may have an alternative to just write this page without any xlog flush. Of course, this is a tradeoff, which may impose even bigger cost on commit due to sizeof(page) vs. sizeof(xlog record), but we may win back the xlog replay time. Comments? Regards, Qingqing ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend