Windows

在文件伺服器上儲存許多文件的成本

  • December 14, 2010

我需要將 SQLite 數據庫中包含的大量數據儲存在文件伺服器上。我有機會將數據分成許多文件。這意味著大部分數據被破壞的風險較小,更容易移動。鎖定等問題較少。我的問題是,有多少文件是太多文件。100.000?1.000.000?10.000.000 個文件?換句話說,在文件伺服器上創建文件的成本是多少?當我談論成本時,我談論的是創建文件的旋轉次數。我知道塊和塊大小,我不擔心儲存在許多文件中而浪費的儲存空間。

我的問題不在於是否最好將這樣的數據庫儲存在文件伺服器上,而不是使用適當的數據庫伺服器來利用其他數據庫軟體。

該環境是一個微軟環境,但我對文件伺服器一無所知。

SQLite 是一個非常酷的產品——但如果你通過網路訪問數據庫,那麼使用基於文件的訪問是一個非常糟糕的主意——即使數據庫是只讀的並且你沒有任何並發性擔心,性能會很糟糕。你必須有一個很好的理由這樣做。

在實踐中,假設性能、並發性和鎖定都不是問題,我認為創建 1000 個文件或將相同的數據作為批處理寫入 10 個文件之間不會有任何顯著差異,但這將根據底層文件系統的性質而有很大差異. OTOH,由於文件中隨機發生大量事務,我希望文件數量越少效率越高。對於閱讀,我希望有類似的模式。但是只有一種方法可以確定 - 嘗試一下。

引用自:https://serverfault.com/questions/212369