3

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

换句话说,如果我有一个包含数百万个对象、关系等的公共数据库,那么所有客户的设备上都有整个数据库的副本吗?

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

我的应用程序将每小时增加一次大小,并且同步功能Realm对我来说是完美的,但我对随着时间的推移数据库的大小以及客户端如何同步大量数据表示怀疑。

提前致谢!

4

1 回答 1

4

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

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

将部分复制添加到 Realm 移动平台已在路线图上。这将只允许将单个 Realm 文件的一部分同步到特定客户端。但是,没有具体的计划何时发布。

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

于 2017-01-30T08:50:35.450 回答