在os x app中,这是存储数百条用户记录的最佳方式,每条记录包含大量信息?
我知道我可以使用CoreData,SQLite,Realm,plist或其他解决方案。 哪个是最兼容的(我认为例如用于网络使用)和干净/轻/快的方法/数据库类型来存储数据?
感谢
答案 0 :(得分:12)
Core Data由Apple编写,用于基于Cocoa的应用程序。它已经包含在操作系统中,已经有10年的发展历史,已经在应用程序商店中的数十万个应用程序中使用。
使用第三方库存在巨大的风险。
我总是建议在iOS和OS X上使用Core Data,因为它是由Apple编写的,有一个完全支持的开发团队,并且是一个成熟的代码库。
使用原始SQLite是可能的,但是您将无法获得与Core Data相同的性能优势。
Realm专注于错误的事情。他们的数据迁移系统很可怕,当他们需要关注整体情况时,他们会关注原始速度。他们可能会定位移动广告,但我不同意他们的目标。
对于任何数据库系统来说,数百条记录并不难。当你在一台设备上获得数以万计的记录时,由于内存压力,许多记录开始下降(即使在OS X上)。
核心数据旨在帮助解决内存压力。我不知道任何第三方框架会这样做。
答案 1 :(得分:5)
我认为最重要的是将Realm与其他数据库进行比较。 Realm使用其自己的核心,其他基于 SQLite (CoreData使用SQLite)。 Realm是第一个专为移动使用而设计的数据库。因此,对于您的案例( OSX ),您必须考虑您的应用是否具有与移动应用相同的功能:设备限制。
境界:
SQLite:
名称中的“lite”意味着它是一个轻型数据库。您可以在github中使用许多库来帮助您,完整的文档和完整的示例。
Personnaly,我使用Realm for My OSX App,尽管它处于beta状态,但我拥有我需要的所有功能。 Realm比CoreData更快,节省了数千行代码和数月的工作量。 :)
我希望这会对你有所帮助。