Dropbox对SQLite数据库也能差异更新?

2012-04-08 17:00:56 +08:00
 lerry
我用Dropbox存储的SQLite数据库文件15MB,不定时更新里面的数据插入或者删除几条,发现每次更新后很快就同步好了,不到半分钟吧,感觉网速没那么快的
6575 次点击
所在节点    Dropbox
15 条回复
oldgun
2012-04-08 17:11:40 +08:00
dropbox的差异更新好像是字节级的,理论上任何文件都可以。
thcode
2012-04-08 17:12:20 +08:00
记得以前看过一个文章分析,Dropbox是把文件分割成固定大小的块进行同步,并不关注文件的格式和内容
xupefei
2012-04-08 17:20:46 +08:00
SQLite 全是明文没有压缩(即使是被加密),所以在你添加一个条目后,你可以使用 HEX 工具清楚地看到哪部分字节被修改了,哪里又新增了一些字节。而 Dropbox 把 SQLite 作为一个普通的二进制文件,分块对比后差量上传;又因为大部分分块都没有被修改,所以需要上传的东西很少。
Ellison
2012-04-08 17:22:48 +08:00
Dropbox真心吊...
lerry
2012-04-08 17:36:22 +08:00
@oldgun @thcode @xupefei @Ellison 恩,学习了,Dropbox果然强大,这也是我不用某些几十G甚至不限空间的网盘用这个的原因。
lerry
2012-04-08 17:59:42 +08:00
刚又试了,插入了5条数据,8秒同步完。
yuxing1171
2012-04-10 16:22:41 +08:00
很强大
aifreedom
2012-04-10 17:02:57 +08:00
@thcode 那我如果不是在文件结尾处添加而是在文件中部添加了一段呢? 这样的按固定大小分割就没辙了吧?
Semidio
2012-04-10 17:51:05 +08:00
@aifreedom 一样的,对比块差异,将修改的块之后的块等量后移对比即可。
dianso
2012-04-10 18:26:45 +08:00
连我加密过的文件都可以,没什么不行的
binux
2012-04-10 18:43:05 +08:00
在chrome里面发现这个:http://www.daemonology.net/bsdiff/
这样的二进制patch也是有解决方案的
sqbing
2012-04-10 19:04:19 +08:00
好奇,国内的网盘也是如此,期待有人评测
xatest
2012-04-10 19:07:12 +08:00
Dropbox是可以二进制增量同步的~
但是我记得sqlite数据库文件最好是不要同步的,例如在iOS的开发指南里就说了iCloud不允许用于同步sqlite数据库文件,因为数据库文件自身的复杂性和封闭性,希望读写数据是通过接口来操作~
zellux
2012-04-10 19:12:41 +08:00
lerry
2012-04-11 08:49:35 +08:00
@xatest 我只是在没有程序读写的时候把它当作一个文件备份来着的……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/31687

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX