【问题标题】:Realm sync across the clients跨客户端的领域同步
【发布时间】:2017-01-29 18:41:28
【问题描述】:

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

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

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

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

提前致谢!

【问题讨论】:

    标签: ios database synchronization realm realm-mobile-platform


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢!我认为主要问题将在数据检索 1-2 年后出现,并且 DB 的大小增加太多。我将尝试使用包含大量数据的测试实例。
    • 有什么方法可以计算出预期的DB大小?
    • 别担心!遗憾的是目前没有。大小可能会根据其内容的数据类型而有很大差异。祝你好运!如果测试没有按您的预期进行,请随时在 Realm GitHub 上提出问题,以便我们进行详细检查。
    • 我尝试了 210000 个随机字符串对象,磁盘大小为 90Mb。当用户第一次下载时,数据库被压缩了对吗?
    • 是的!如果要模拟实际传输大小,在Realm浏览器中打开Realm文件,导出为压缩的Realm,然后压缩成zip文件。
    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 2021-12-06
    • 2012-11-27
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多