ios - 跨客户端的 Realm 同步

标签 ios database synchronization realm realm-mobile-platform

我搜索了许多主题和问题,但没有找到答案。 当我使用 Realm Objects Server 并且客户端连接到服务器时,整个数据库是否在所有客户端之间同步?

换句话说,如果我有一个包含数百万个对象、关系等的公共(public)数据库,所有客户端都在其设备上拥有整个数据库的副本?

我需要 Realm 同步功能,但我不知道如何进行同步。同步是增量的吗?每个用户都有设备查询所需的对象?

我的应用程序每小时都会增加大小,Realm 的同步功能对我来说是完美的,但我对数据库的大小以及客户端如何同步很多有疑问数据。

提前致谢!

最佳答案

目前,是的。公共(public) Realm 与每个客户的设备完全同步。当客户端的设备首次连接时,将首先下载整个列表,从那时起,任何其他更改都将在服务器上进行同步。

也就是说,所有 Realm 文件都被压缩(即,所有分配的空空间都被删除,所有字符串都被压缩),然后在下载到客户端之前用 gzip 压缩,所以只要公共(public) Realm 不包含大的二进制 blob,即使是非常大的文件也应该很快下来。

将部分复制添加到 Realm Mobile Platform 的路线图上。这将只允许将单个 Realm 文件的一部分同步到特定客户端。但是,目前还没有具体的发布时间计划。

目前,最简单的做法是在服务器上维护数据的主列表,并只将需要的数据复制到每个用户的私有(private) Realm 。但是,由于这需要在服务器上执行自定义逻辑,因此需要 Professional或 Realm 移动平台的企业版。

关于ios - 跨客户端的 Realm 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41924569/

相关文章:

ios - 如何从 CNContactPickerViewController 获取选定的 contactProperty

mysql - 我删除了我的 wp 网站的数据库,wordpress 要求重新安装

c# - 锁和互斥锁有什么区别?

ios - 同步两个数据库源的算法?

java - 在这种多线程情况下,有哪些好的同步策略?

ios - 为什么 SecKeyEncrypt 会为超过 246 字节的输入字符串返回 paramErr (-50)?

ios - Swift:当我们对 Int 进行扩展时,属性 getter 中的 "self"应该是什么?

ios - 滚动时保持 UITableview 单元格中自定义按钮的状态

database - Hibernate Criteria 一对多关系

mysql - 此更改如何影响此数据库查询的速度?