大型核心数据存储对时间机器的影响

时间:2011-02-19 23:54:27

标签: macos core-data

我正在研究的项目可能需要在CoreData中存储大量(例如~5GB)二进制数据。我想知道这是否会对用户的Time Machine备份产生负面影响。通过阅读文档,似乎CoreData的持久存储使用单个文件(例如XML,SQLite DB等),因此在我看来,每当用户更改数据存储区中的一段数据时,Time Machine都会复制数据存储。完整到备份驱动器。

CoreData是否提供了更多Time Machine友好的不同数据存储格式?

或者他们是更好的方法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用数据模型中的配置将较大的实体分隔为不同的持久性存储。您需要自己创建持久性存储协调器,使用addPersistentStoreWithType:configuration:URL:options:error:为每个存储添加正确的配置。

答案 1 :(得分:1)

要直接回答您的问题,我唯一能想到的就是将您的Core Data存储放在sparsebundle磁盘映像中,因此只有更改的频段才会由Time Machine备份。但实际上,我认为如果你试图在SQLite / Core Data中存储这么多数据,你会遇到其他问题。我建议你尝试使用基于磁盘的数据库,比如PostgreSQL。