iOS面试题:数据库选择原因(realm 、coreData、FMDB、Sqlite)

SQLite
SQLite是在世界上使用的最多的数据库引擎,并且还是开源的。它实现了无配置,无服务要求的事务数据库引擎。SQLite可以在Mac OS-X, iOS, Android, Linux, 和 Windows上使用.
由于它是使用ANSI-C开发的,因此它提供了一个简单的,方便使用的编程接口。SQLite也是一个小的,轻量级的,可以被存储在跨平台磁盘文件的完善的数据库。
SQLite之所以这么流行的原因是:

  • 独立于服务器
  • 零配置
  • 多进程和线程下安全访问。
  • 在表中使用含有特殊数据类型的一列或多列存储数据。

Core Data
Core Data是App开发者可以使用的第二大主要的iOS存储技术。你需要根据数据类型和数据量进行管理和存储,SQLite和Core Data都有它们各自的优缺点。Core Data 更加关注于对象而不是传统的表数据库方法。使用Core Data,你可以存储一个Objective-C类的对象。

  • 比SQLite使用更多的内存。
  • 比SQLite使用更多的存储空间。
  • 比SQLite在取数据方面更快。

FMDB
FMDB框架其实只是一层很薄的封装,主要的类也就两个:FMDatabase和FMResultSet。在使用fmdb的时候还需要导入libsqlite3.0.dylib。

core data允许用户使用代表实体和实体间关系的高层对象来操作数据。它也可以管理串行化的数据,提供对象生存期管理与object_graph 管理,包括存储。Core Data直接与Sqlite交互,避免开发者使用原本的SQL语句.

Realm
Realm 是个新技术。Realm天生比前面提到的数据库解决方案更快,更高效。新的解决方案就叫做Realm,它是一个跨平台的移动数据库。它可以在Objective-C 和Swift中使用,并且它是专门为 iOS 和 Android设计的数据库。
Realm最主要的优势是:

  • 绝对免费
  • 快速,简单的使用
  • 没有使用限制
  • 为了速度和性能,运行在自己的持久化引擎上。

更多:iOS面试题合集

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Realm是由Y Combinator公司孵化出来的一款可以用于iOS(同样适用于Swift&Objective-...
    小歪子go阅读 2,306评论 6 9
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,295评论 4 61
  • 跨平台:现在很多应用都是要兼顾iOS和Android两个平台同时开发。如果两个平台都能使用相同的数据库,那就不用考...
    CoderZS阅读 2,588评论 2 16
  • 看本文之前首先需了解 spring注解驱动开发。可以看另外一篇文章spring注解,本文是在spring注解开发的...
    有点胖的小乐乐阅读 540评论 0 0
  • 有时候我也不知道是什么力量支撑着自己一直努力,但是,是不是一直努力就好,不论这股力量来自于什么?
    白馥祎013阅读 163评论 0 0