複製鏈接
請複製以下鏈接發送給好友

fsfs

鎖定
一種不需要數據庫的存儲系統
外文名
FSFS
方    式
文件系統
替    代
基於Berkeley DB的實現
領    域
程序設計
英文全寫
Flexible Storage File System

目錄

fsfs簡介

FSFS 採用文件系統的方式, 替代原來的基於Berkeley DB的實現.
一種不需要數據庫的存儲系統。FSFS版本庫在單一文件中存儲修訂版本樹,所以版本庫中所有的修訂版本都在一個子文件夾中有限的幾個文件裏。事務在單獨的子目錄中被創建,創建完成後,一個單獨的事務文件被創建並移動到修訂版本目錄,這保證提交是原子性的。因為一個修訂版本文件是持久不可改變的,版本庫也可以做到熱備份,就象Berkeley DB版本庫一樣。
修訂版本文件格式代表了一個修訂版本的目錄結構,文件內容,和其它修訂版本樹中相關信息。不像Berkeley DB數據庫,這種存儲格式可跨平台並且與CPU架構無關。因為沒有日誌或用到共享內存的文件,數據庫能被網絡文件系統安全的訪問和在只讀環境下檢查。缺少數據庫花消同時也意味着版本庫的總體體積可以稍小一點。

fsfs性能特性

FSFS也有一種不同的性能特性。當提交大量文件時,FSFS使用O(N)算法來追加條目,而Berkeley DB則用(N^2)算法來重寫整個目錄。另一方面,FSFS通過寫入與上一個版本比較的變化來記錄新版本,這也意味着獲取最新修訂版本時會比Berkeley DB慢一點,提交時FSFS也會有一個更長的延遲,在某些極端情況下會導致客户端在等待迴應時超時。
最重要的區別是當出現錯誤時FSFS不會楔住的能力。如果使用Berkeley DB的進程發生許可錯誤或突然崩潰,數據庫會一直無法使用,直到管理員恢復。假如在應用FSFS版本庫時發生同樣的情況,版本庫不會受到任何干擾,最壞情況下也就是會留下一些事務數據。