在工作中,我開始研究一個程序,該程序可能會在一小時內生成數十萬個大多數小文件。我的前任已經發現,處理很多小文件會變得非常緩慢,所以他們採取了一些(在我看來)粗略的方法來緩解這個問題。使用數據庫而不是成千上萬的小文件
所以我問我的老闆爲什麼不用我們的數據庫來代替他,他給了我他着名的我知道的比你好看,並告訴我明顯是一個數據庫,沒有好的表現。
我的問題是,這是真的嗎?在我看來,數據庫引擎應該能夠比文件系統更好地處理這些數據。以下是我們的條件:
- 該程序主要是寫數據。查詢要少得多,他們的表現也不是很重要。
- 每天都可以生成數百萬個文件。其中大部分都很小(幾千字節),但有些可能很大。
如果您認爲我們應該選擇數據庫解決方案,您認爲哪種開源數據庫系統最適合? (如果我決定一個數據庫肯定會更好地工作,我要去推動的改變無論老闆說!)
你的老闆可以很該死確保數據庫開發民間有優化的數據庫插入和檢索至少不亞於你的前任優化訪問這些數以千計的小文件。許多用戶都以MySQL作爲開源數據庫。許多這些用戶運行數十萬條記錄的數據庫。性能要比使用裸文件系統要好得多,部分原因是數據庫表通常可以保存在內存中(只是其中一種優化技術,您會發現)。 *顯然!* :-) –