Realm 所做的改进

原文链接

  1. 传统的Sqlite + orm 数据抽象 是有漏洞的, 因为 orm 只是简单的把对象和他们的方法转换成相应的sql 语句,结果上 ,它只是一种为开发者提高生产效率的形式上的手段, Realm ,另一方面,是一个对象性数据库,意味着你的对象直接映射为数据库。这种直接对数据库的访问,引导出了下一个主题, 零拷贝。

  2. 零拷贝:传统的从数据库读数据的方法通常会导致没必要的一些复制动作(原始数据 -》 序列化数据 -》 开发语言级别的抽象对象)。Realm 通过直接在内存中映射整个数据来避免这一点,(这点有点像 Linux的mmap) 数据结构使用B+树, 无论何时数据被查询,Realm简洁的算出偏移量,读取内存中映射的区域,返回原始数据。

  3. 懒加载:因为属性值代表数据库中的列的值而不是行的值, 可以当需要的时候才加载,因为列的结构 读起来更快,然而插入可能会更慢,但那在移动端是一种好的替代形式。

  4. MVCC (多版本并发控制) 当使用 MVCC 数据模型的时候,Realm 也能处理并发问题,就是多个读事务可以同时进行,当写事务正在提交的时候读事务也可以完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值