将CoreData替换为专业数据库以提高性能

时间:2017-01-30 23:52:22

标签: mysql performance sqlite core-data

我们有一个大型Mac应用程序,它使用CoreData存储大约10 GB以上的数据,为了提高性能,我们将其分解为大约0.25 GB到1 GB的较小CoreData存储,代表用户同时使用的不同项目,让用户打开和关闭他们想要使用的项目并提高性能,特别是当他们执行跨越所有活动项目的事情时,我们还在后台线程中获取和写入CoreData以便不阻止用户。数据源来自远程共享MySQL数据库,使用不会以任何方式改变数据,在本地复制数据让用户以远程数据库上的速度过慢的方式使用数据离线工作。 CoreData正在使用SQLite,我最近在阅读人们对SQLite如何与PostSQL,MySQL和Oracle等产品进行比较的评论,如果我们使用像PostSQL或MySQL而不是CoreData这样的东西,我们会在性能上受益,还是只有为多个用户播放。

1 个答案:

答案 0 :(得分:1)

有许多网站在比较底层数据库系统。 Here's one。从上面的描述中可以看出,由于这不是一个多用户写入繁重的应用程序,因此远离SQLite几乎无法获得。您可能会考虑转向使用您的服务器数据库,但您可能已经将其排除在外并且不太可能使事情变得更快。

远离Core Data将产生开发成本并提供不太可能的性能加速。从上面的描述中,您的团队已经完成了对数据库进行分区以实现出色并行访问的出色工作。因此,我会请你的团队向你展示系统运行缓慢的地方?然后问他们如何改变它以表现更好?然后问他们团队提供这样的性能会花多少钱?然后,您将知道是否重新设计您的解决方案。根据您的上述说明,您的系统很好。