Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support downloading cloud data snapshots to local on demand #8057

Closed
Tracked by #8055
88250 opened this issue Apr 20, 2023 · 36 comments
Closed
Tracked by #8055

Support downloading cloud data snapshots to local on demand #8057

88250 opened this issue Apr 20, 2023 · 36 comments
Assignees
Milestone

Comments

@88250
Copy link
Member

88250 commented Apr 20, 2023

This process is performed automatically in the background.

@zxhd863943427
Copy link
Contributor

这是否意味着不同设备上可见的本地快照一致了?

@88250
Copy link
Member Author

88250 commented Apr 20, 2023

@zxhd863943427 是的

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

不过缺点就是会大量占用设备的磁盘空间,在移动端上可能不大适合这样做。

@zxhd863943427
Copy link
Contributor

这要看清除数据仓库未引用内容的能力了。
毕竟感觉大部分数据量都来自这些临时存放的其他文件。

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

数据仓库清理功能已经发布 dev 版了,目前测试效果还行,但如果是全量下载快照后就清理的话,可能也就没有必要全量下载了,只下载引用的快照就好。

@zxhd863943427
Copy link
Contributor

引用的快照的定义是什么?

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

这里有介绍 #8054

@88250 88250 changed the title Download all data snapshots from the cloud to the local Download all referenced data snapshots from the cloud to the local Apr 21, 2023
@88250
Copy link
Member Author

88250 commented Apr 21, 2023

这个暂时不考虑了,还是让用户自己通过标记快照手动下载比较好。

@88250 88250 closed this as completed Apr 21, 2023
@88250 88250 removed the Enhancement label Apr 21, 2023
@zxhd863943427
Copy link
Contributor

我认为这个还是有必要的,最大的好处是保证多端上笔记版本库的统一。在同步发生故障后,使用这个功能就能不通过另一端操作才能挽救,对安全感的提升是巨大的。

比如说,在同步时发生了错误覆盖,这是一个小错误,但是正确的另一端不能进行操作,那在发生错误的一端是不敢进行操作的。因为无法评估错误覆盖的范围。如果能保证多端数据快照的一致,那就能直接通过同步过来的正确数据快照进行强制回滚,而不用担心继续操作导致错误覆盖。

@zxhd863943427
Copy link
Contributor

假如说有两台设备,处于不同的地方,我在第一台设备上写完,关闭,然后在第二台设备上进行同步。

假如我这个时候发生了错误覆盖,那我就什么也干不了了。

我只能等到第二天,到第一台设备先关闭同步,标记快照,上传,然后回到家,在第二台设备上才能修复,我认为这是极为不合理的。

@Aiviokoo
Copy link

我觉得非常有必要,相当于加了很多保险在,而且现在手机都有1t的了,如果还是以储存空间不足为由,其实有点不合理(再者也可以伺服),就像思源为了发展,之后将不再支持win7一样。为了安全同样也该如此哇,个人观点。

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

假如我这个时候发生了错误覆盖,那我就什么也干不了了。

可以通过同步之前的快照回滚的,这个快照本身就在当前设备上。

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

而且现在手机都有1t的了,如果还是以储存空间不足为由,其实有点不合理

尚未普及,而且占用的空间大部分时候是没有用的,如果需要的话用云端标记快照吧。

@zxhd863943427
Copy link
Contributor

zxhd863943427 commented Apr 21, 2023

可以通过同步之前的快照回滚的,这个快照本身就在当前设备上。

我认为不行。我需要的不是第二台设备上落后的数据快照,我需要的是第一台设备上更新的数据快照。如果回滚了,那只会造成更大的数据丢失。

尚未普及,而且占用的空间大部分时候是没有用的,如果需要的话用云端标记快照吧。

我认为1t只是夸张,但哪怕是思源的同步空间全部用完也不过8g,对于手机已经全面普及的128g起步无异是小巫见大巫。QQ、微信动辄20-30g,大型游戏也是15g左右的量级,思源占用空间的上限实在平平无奇。况且大部分的用户也不过使用1-2g,甚至对于不喜欢在思源里塞文件的我来说只占用了200m空间。

而且以占用的空间大部分时候是没有用的来否决这项改进我认为是非常不合理的。备份、数据历史之类的功能占用的空间在绝大部分都没有用,但对于笔记软件的受众来说,我们宁愿付出3倍的存储空间(备份3+2+1原则)来保障数据安全。而思源的下载全部数据快照只不过是增量保存,每个数据块只保存一次,这怎么能算浪费呢?

至于云端标记快照的劣处我已经说了

我只能等到第二天,到第一台设备先关闭同步,标记快照,上传,然后回到家,在第二台设备上才能修复,我认为这是极为不合理的。

无论怎么说,我认为在可以改进这种割裂感的情况下放弃这种改进是极不明智的,我宁愿每隔一个月重置数据仓库来减小占用,也不想要放弃同步全部数据快照的功能。

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

等后面再看看是否有必要吧,毕竟这个代价太高,对于用户来说占用太多存储,对于官方来说流量费用可能扛不住。

@zxhd863943427
Copy link
Contributor

emmm,同步数据快照的流量消耗相对于目前的同步会高很多吗?

我还以为这个功能按照增量同步来说最多也就占用数据仓库的全部大小。

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

一次全量下载全部大小已经不少了,比如目前 8G 的云端存储上限,但是实际上云端可能存了远超这个大小的数据。

现在云端存储使用统计是按最新快照统计的,后面会改为按实际引用的快照数据对象进行统计。

@zxhd863943427
Copy link
Contributor

zxhd863943427 commented Apr 21, 2023

但是平时也不经常全量下载呀,那同步数据快照的流量消耗相对于目前的同步,会高多少?

我不太理解这个区别。

按实际引用的快照数据对象进行统计这个我支持,数据快照在云端的实际占用应该被统计到。

但是这样子历史数据快照的占用是实实在在地对用户可见了,而用户在本地却无法感受到好处,那相当于只是用户权益的削减,恐怕对于用户来说是比较难以接受的。

@Aiviokoo
Copy link

而且现在手机都有1t的了,如果还是以储存空间不足为由,其实有点不合理

尚未普及,而且占用的空间大部分时候是没有用的,如果需要的话用云端标记快照吧。

好滴,谢谢D大,确实普及度还不够高,我用的是256G的(基本是现在新手机的最低配),等以后可能会有吧,想拥有确实也是有原因的,前段时间偶然间可能是我自己操作(多端)的问题,造成了数据丢失,通过历史快照恢复了(但是这时同步的时候好像得换云上的包,我没有换,得亏还有好几个历史我操作了几次,把main换成了siyuan重新传的,以至于没啥损失,安全真的太重要了)

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

但是平时也不经常全量下载呀,那同步数据快照的流量消耗相对于目前的同步,会高多少?

在云端,没有引用的快照后面会被自动清理 #8056 无法下载到的,除非手动标记后作为引用。

但是这样子历史数据快照的占用是实实在在地对用户可见了,而用户在本地却无法感受到好处,那相当于只是用户权益的削减,恐怕对于用户来说是比较难以接受的。

只统计引用的快照实际占用,没有引用的会被定时清理,不计入使用量中。

@88250 88250 changed the title Download all referenced data snapshots from the cloud to the local Support downloading cloud data snapshots to local on demand Apr 21, 2023
@88250 88250 reopened this Apr 21, 2023
@88250
Copy link
Member Author

88250 commented Apr 21, 2023

考虑了下,云端快照还是不做自动删除了,即保留所有快照(即使是没有引用的),用户可以按需下载到本地 #8057

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

所以综合考虑,为了节省下行流量和本地设备磁盘空间,改为按需下载比较好。

@zxhd863943427
Copy link
Contributor

如果想要自动下载所有快照的话肯定是要整个 repo 都下载啊,不然本地的数据不全。

原来如此……每一次都要全量下载吗?没办法第一次全量、然后之后增量吗?

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

按照原有方案的话,新设备上只能全量,所以原方案不大好。

@Vanessa219 Vanessa219 self-assigned this Apr 21, 2023
@Soltus
Copy link
Contributor

Soltus commented Apr 21, 2023

思源官方同步有限制单个附件大小吗

@88250
Copy link
Member Author

88250 commented Apr 21, 2023

不限制,但是我没有测试过超过 1G 的文件,我只测试过 500m 的,理论上 2G 以下应该是可以的。

@Soltus
Copy link
Contributor

Soltus commented Apr 21, 2023

限制2G是比较合理的

@88250
Copy link
Member Author

88250 commented Apr 22, 2023

暂时还是不限制了,后面继续收集反馈再说吧。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants