<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Fsync on Answer</title>
    <link>https://answer.freetools.me/tags/fsync/</link>
    <description>Recent content in Fsync on Answer</description>
    <generator>Hugo -- 0.152.2</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sat, 07 Mar 2026 07:20:09 +0800</lastBuildDate>
    <atom:link href="https://answer.freetools.me/tags/fsync/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>数据库已提交的事务为何会丢失？从fsync到异步提交的持久性权衡</title>
      <link>https://answer.freetools.me/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%B7%B2%E6%8F%90%E4%BA%A4%E7%9A%84%E4%BA%8B%E5%8A%A1%E4%B8%BA%E4%BD%95%E4%BC%9A%E4%B8%A2%E5%A4%B1%E4%BB%8Efsync%E5%88%B0%E5%BC%82%E6%AD%A5%E6%8F%90%E4%BA%A4%E7%9A%84%E6%8C%81%E4%B9%85%E6%80%A7%E6%9D%83%E8%A1%A1/</link>
      <pubDate>Sat, 07 Mar 2026 07:20:09 +0800</pubDate>
      <guid>https://answer.freetools.me/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%B7%B2%E6%8F%90%E4%BA%A4%E7%9A%84%E4%BA%8B%E5%8A%A1%E4%B8%BA%E4%BD%95%E4%BC%9A%E4%B8%A2%E5%A4%B1%E4%BB%8Efsync%E5%88%B0%E5%BC%82%E6%AD%A5%E6%8F%90%E4%BA%A4%E7%9A%84%E6%8C%81%E4%B9%85%E6%80%A7%E6%9D%83%E8%A1%A1/</guid>
      <description>深入解析数据库持久性的技术本质。从事务提交后数据丢失的困惑出发，剖析fsync性能瓶颈、操作系统页面缓存、SSD写入缓存三层缓冲机制；详解MySQL innodb_flush_log_at_trx_commit、PostgreSQL synchronous_commit、Redis appendfsync、MongoDB write concern等配置的实际含义；分析group commit优化与SSD电源故障保护(PLP)的关键作用；提供不同场景下的持久性配置决策框架。</description>
    </item>
    <item>
      <title>Write-Ahead Log：数据库如何在断电瞬间守住数据最后一道防线</title>
      <link>https://answer.freetools.me/write-ahead-log%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A6%82%E4%BD%95%E5%9C%A8%E6%96%AD%E7%94%B5%E7%9E%AC%E9%97%B4%E5%AE%88%E4%BD%8F%E6%95%B0%E6%8D%AE%E6%9C%80%E5%90%8E%E4%B8%80%E9%81%93%E9%98%B2%E7%BA%BF/</link>
      <pubDate>Fri, 06 Mar 2026 05:37:30 +0800</pubDate>
      <guid>https://answer.freetools.me/write-ahead-log%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A6%82%E4%BD%95%E5%9C%A8%E6%96%AD%E7%94%B5%E7%9E%AC%E9%97%B4%E5%AE%88%E4%BD%8F%E6%95%B0%E6%8D%AE%E6%9C%80%E5%90%8E%E4%B8%80%E9%81%93%E9%98%B2%E7%BA%BF/</guid>
      <description>深入剖析Write-Ahead Log(WAL)机制的设计哲学与实现细节。从1992年ARIES论文到PostgreSQL的Full Page Writes、MySQL的Doublewrite Buffer、SQLite的WAL模式，系统梳理不同数据库如何解决torn page问题。基于学术论文与源码分析，揭示WAL如何在性能与可靠性之间取得平衡——Steal/No-Force策略的选择、Group Commit优化、Checkpoint机制与恢复流程。</description>
    </item>
    <item>
      <title>fsync()不是你想的那样：数据库持久化的致命误解</title>
      <link>https://answer.freetools.me/fsync%E4%B8%8D%E6%98%AF%E4%BD%A0%E6%83%B3%E7%9A%84%E9%82%A3%E6%A0%B7%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8C%81%E4%B9%85%E5%8C%96%E7%9A%84%E8%87%B4%E5%91%BD%E8%AF%AF%E8%A7%A3/</link>
      <pubDate>Fri, 06 Mar 2026 04:46:52 +0800</pubDate>
      <guid>https://answer.freetools.me/fsync%E4%B8%8D%E6%98%AF%E4%BD%A0%E6%83%B3%E7%9A%84%E9%82%A3%E6%A0%B7%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8C%81%E4%B9%85%E5%8C%96%E7%9A%84%E8%87%B4%E5%91%BD%E8%AF%AF%E8%A7%A3/</guid>
      <description>深入剖析fsync()系统调用的真实行为与陷阱。从2018年PostgreSQL的fsyncgate事件，到USENIX ATC 2020关于fsync失败恢复的学术研究，系统梳理Linux文件系统(ext4/XFS/Btrfs)在fsync失败后的复杂行为——页面被标记为干净、错误只报告一次、重试反而成功。揭示为什么&amp;#34;重试fsync&amp;#34;是错误策略，以及PostgreSQL、MySQL、SQLite等主流数据库的应对方案。</description>
    </item>
    <item>
      <title>Page Cache的阴暗面：为什么write()成功返回数据却可能消失</title>
      <link>https://answer.freetools.me/page-cache%E7%9A%84%E9%98%B4%E6%9A%97%E9%9D%A2%E4%B8%BA%E4%BB%80%E4%B9%88write%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%E5%8D%B4%E5%8F%AF%E8%83%BD%E6%B6%88%E5%A4%B1/</link>
      <pubDate>Fri, 06 Mar 2026 02:31:00 +0800</pubDate>
      <guid>https://answer.freetools.me/page-cache%E7%9A%84%E9%98%B4%E6%9A%97%E9%9D%A2%E4%B8%BA%E4%BB%80%E4%B9%88write%E6%88%90%E5%8A%9F%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%E5%8D%B4%E5%8F%AF%E8%83%BD%E6%B6%88%E5%A4%B1/</guid>
      <description>深入解析Linux Page Cache与脏页回写机制，揭示数据从用户态write()到磁盘持久存储的完整旅程。从内核flusher线程的十年演进、ext4断电数据丢失事件、fsync性能瓶颈到SSD断电保护，全面覆盖现代存储栈中的数据可靠性挑战与最佳实践。</description>
    </item>
  </channel>
</rss>
