2010-04-08 76 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