跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 不懂就问:什么时候需要 sync directory?
未分類
11 1 月 2021

不懂就问:什么时候需要 sync directory?

不懂就问:什么时候需要 sync directory?

資深大佬 : NoBugDie 6

在创建文件、重命名等需要修改目录文件的文件列表数据的操作之后,需要不需要进行 sync directory 呢?

具体到 LevelDB 的实现,在 flush manifest 文件的时候,会进行 sync directory 操作,大致原因在注释中有提到,是为了确保 manifest 中引用的文件在文件系统中存在。

然而在创建 WAL 文件时,并没有任何 sync directory 的操作。如此,是否会因为服务器宕机造成数据丢失呢?虽然现有的日志文件系统似乎可以通过重做日志恢复文件系统的元信息。那在非日志文件系统上,岂不是凉凉?

LevelDB 创建 WAL 文件的代码: https://github.com/google/leveldb/blob/6721eda0b46654d3531b4a0a00c90dc659b337d6/db/db_impl.cc#L1360

LevelDB flush manifest 文件的代码: https://github.com/google/leveldb/blob/6721eda0b46654d3531b4a0a00c90dc659b337d6/util/env_posix.cc#L306

大佬有話說 (2)

  • 資深大佬 : littlewing

    会的,所以用 rocksdb 吧

  • 主 資深大佬 : NoBugDie

    @littlewing rocksdb 代码比较多,但是我也没找到相关逻辑…

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具