从我观察到的:
这是进行版本控制的非常低效的方式,其中维护整个文档的副本以进行版本控制,而不仅仅是diff,因为这将占用大量空间。(例如:在“ GrocerySync-Android”示例应用程序中,对单个待办事项执行500次轻敲,将占用8.03MB的磁盘空间。此外,版本管理器文档已大于2.5 kb,并且我收到一条消息,提示您不能修改超过2.5 kb的文档。为什么????)
问题:
在分布式系统中,尤其是用于iOS / Android和其他嵌入式设备的分布式系统中,在每个修订版本中保留完整的属性集非常重要。
在这种系统中使用补丁/差异方法可能会导致更多的不一致,例如,只有在也存在某些先前状态的情况下,更新才有意义。否则,向用户显示文档的差异将无法提供出色的用户体验。它非常适合其他用例,例如源代码的版本控制(Git,Mercurial ...)
在复制协议中可以利用补丁/差异方法。Couchbase Lite iOS存储库中有一张开放式票证,讨论仅传输修订版增量的可能性。
如果只想保留少量修订,请更改maxRevTreeDepth
属性以指定要保留在文档树历史记录中的修订数量(默认为20,在此处了解更多信息)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句