我這兩天也思考了一番,有了很好的思路
其實如果要做的比較完美一點,可以借鑒oracle數(shù)據(jù)庫里面的分頁索引結(jié)構(gòu),就是把存儲空間分成很多的page
把page作為最小的存儲單位可以定為4k(或8K,16K 有點象Fat32 Fat ..了吧 ^_^ ),然后另外專門創(chuàng)建一個分區(qū)索引區(qū),表明一段數(shù)據(jù)區(qū)對應(yīng)哪些page,要刪除數(shù)據(jù)的時候,只需要表明那幾個page不再使用, 可以重寫, 適當?shù)臅r候還可以重整空間,把標識為已經(jīng)刪除的page給搬移到文件的最后,類似于defrag的效果,這樣不管是讀還是寫,效率都是很高的.文件空間能更合理的布局
不過要做到上面這些似乎這也算一個大工程了,這基本就相當于實現(xiàn)了一個文件數(shù)據(jù)庫了,或者說是個完美的文件系統(tǒng)了,
這些想法和一些高手也交流過了,想法應(yīng)該是沒問題的
只是目前暫時也不打算這樣去做,呵呵,主要是工作量...
將來閑暇的時候是一定要去完成的,這東西實現(xiàn)起來,還是很有意義的
有些高手說linux底層有這樣的源碼,去找找也許能發(fā)現(xiàn),呵呵...