2010-04-08 60 views
9

我正在設計使用核心數據的iPad/iPhone應用程序。該應用程序的主要重點是分類和查看多達20,000個PDF文件,每個大約200KB。通常情況下,最好不要將BLOBS存儲在數據庫中,但對於我通常看到的臺式機系統來說,如果這些數據塊是1MB,那麼使用DB就可以。我應該考慮任何考慮因素?如果我將它們存儲在文件系統中,我可以將它們全部存儲在一個目錄中,而不存在性能問題(我不需要獲取目錄列表,因爲我將每個路徑存儲在數據庫中)?我應該將它們分成幾個目錄嗎?如果是的話,每個目錄的文件數是否有一個很好的規則?核心數據iPad/iPhone BLOBS vs 20k PDF文件系統

回答

9

我會去你的數據庫中的路徑。通過查找和備份原因,速度更快。我個人使用目錄的相對路徑,所以我可以在系統遷移或負載平衡的情況下更改「root」文件夾。您可以將它們存儲在單個目錄中,因爲當您從數據庫中查找它們時,它是通過唯一的ID(如果您的模式是按照這種方式設計的)。

你可以很容易地在SQLite中存儲1MB的BLOB(其他數據庫)。只是不會推薦它。

+2

核心數據(通常)使用SQLite作爲後端,而不是MySQL。 – 2010-04-08 00:13:20

+2

優秀點。我忘記了備份。數據庫數據確實需要備份,但PDF並不需要,因爲應用程序可以隨時根據需要重新下載它們。 – jamone 2010-04-08 00:20:51