OS X App.哪种方式是存储数据的最佳方式?

Mic*_*rdi 5 database cocoa core-data realm

在os x app中,这是存储数百个用户记录的最佳方式,每条记录包含大量信息?

我知道我可以使用CoreData,SQLite,Realm,plist或其他解决方案.哪个是最兼容的(我认为例如用于Web使用)和干净/轻/快的方法/数据库类型来存储数据?

谢谢

Mar*_*rra 12

Core Data由Apple编写,用于基于Cocoa的应用程序.它已经包含在操作系统中,已经有10年的发展历史,已经在应用程序商店中的数十万个应用程序中使用.

使用第三方库存在巨大的风险.

我总是建议在iOS和OS X上使用Core Data,因为它是由Apple编写的,有一个完全支持的开发团队,并且是一个成熟的代码库.

使用原始SQLite是可能的,但是您将无法获得与Core Data相同的性能优势.

Realm专注于错误的事情.他们的数据迁移系统很可怕,当他们需要关注整体情况时,他们会关注原始速度.他们可能会定位移动广告,但我不同意他们的目标.

对于任何数据库系统来说,数百条记录并不难.当你在一台设备上获得数以万计的记录时,由于内存压力,许多记录开始下降(即使在OS X上).

核心数据旨在帮助解决内存压力.我不知道任何第三方框架会这样做.


Mas*_*ego 5

我认为最重要的是将Realm与其他数据库进行比较.Realm使用自己的核心,其他的基于SQLite(CoreData使用SQLite).Realm是第一个专为移动使用而设计的数据库.所以你的情况(OSX),您必须考虑您的应用程序是否具有与移动应用程序相同的功能:设备限制.

领域:

  • 非常快的方法:参见示例 这里的
  • 快速执行:请参见此处的基准,是成千上万的用户记录!
  • Light:嵌入式数据库小于1MB

  • 但处于测试状态.这意味着他们不断发展

SQLite的:

名称中的"精简版"意味着它是一个轻量级的数据库.您在github中有许多库可以帮助您,完整的文档和完整的示例.

Personnaly,我使​​用Realm for My OSX App,尽管它处于beta状态,但我拥有我需要的所有功能.Realm比CoreData更快,节省了数千行代码和数月的工作量.:)

我希望这会对你有所帮助.