2011-11-09 138 views
0

在分組到子目錄之前是否有最佳數量的目錄在驅動器上保存圖像?最佳實踐 - 目錄結構

例如,我有大約600,0000個圖像文件的集合 我可以從邏輯上將這些圖像分組爲幾個圖層,但我不確定最佳檢索速度。我不需要搜索磁盤,因爲我會一直知道它的絕對路徑。

我的基本選項:

1目錄60萬文件(!我的直覺告訴我,這是沒有好) OR 1目錄與1500每個子目錄,平均400個文件(最低200最高600) 或 1個目錄有75個子目錄,每個子目錄平均有20個子目錄,每個子目錄平均有400個文件。

第二種情況是我的理想選擇,但擔心這個數量的子目錄會影響性能。

請討論!

羅傑

+3

我們在談論什麼文件系統? – themel

+0

對不起 - 這是在帶有RAID5陣列的Windows Server 2008操作系統上 – RogerDodge

回答

0

根據我的經驗,這是文件系統(甚至是存儲廠商)依賴......不同的是選擇#1(「剛傾倒在一個地方的一切」),幾乎可以肯定將是一個窮人演員。

我們遇到了類似的問題,並採用#2的變體。在我們的例子中,我們有數千萬的用戶,每個用戶都有10到1000個文件。我們結束了,看上去像這樣的結構:

\ EF \ all_the_files

的AB部分指定安裝點AB \ CD和CD \ EF是子文件夾的兩個級別之下。

如果您將要看到顯着的IO負載,我會敦促您測試我們在您要使用的硬件和網絡上的配置。當然,如果需要的話,可以考慮如何備份和恢復部分數據。

0

這個previous question支持實驗後NTFS上的平面文件。這很有意義,因爲現代文件系統會將目錄內容存儲在具有對數搜索時間的結構中,因此您可以在log(n)和> = 2 log(sqrt(n))之間進行選擇 - 或者至多相等。