V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dropbox - Simplify your life
注册 Dropbox
Dropbox for Developers
lerry
V2EX  ›  Dropbox

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

  •  
  •   lerry · 2012-04-08 17:00:56 +08:00 · 6695 次点击
    这是一个创建于 4605 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我用Dropbox存储的SQLite数据库文件15MB,不定时更新里面的数据插入或者删除几条,发现每次更新后很快就同步好了,不到半分钟吧,感觉网速没那么快的
    15 条回复    1970-01-01 08:00:00 +08:00
    oldgun
        1
    oldgun  
       2012-04-08 17:11:40 +08:00
    dropbox的差异更新好像是字节级的,理论上任何文件都可以。
    thcode
        2
    thcode  
       2012-04-08 17:12:20 +08:00
    记得以前看过一个文章分析,Dropbox是把文件分割成固定大小的块进行同步,并不关注文件的格式和内容
    xupefei
        3
    xupefei  
       2012-04-08 17:20:46 +08:00
    SQLite 全是明文没有压缩(即使是被加密),所以在你添加一个条目后,你可以使用 HEX 工具清楚地看到哪部分字节被修改了,哪里又新增了一些字节。而 Dropbox 把 SQLite 作为一个普通的二进制文件,分块对比后差量上传;又因为大部分分块都没有被修改,所以需要上传的东西很少。
    Ellison
        4
    Ellison  
       2012-04-08 17:22:48 +08:00
    Dropbox真心吊...
    lerry
        5
    lerry  
    OP
       2012-04-08 17:36:22 +08:00
    @oldgun @thcode @xupefei @Ellison 恩,学习了,Dropbox果然强大,这也是我不用某些几十G甚至不限空间的网盘用这个的原因。
    lerry
        6
    lerry  
    OP
       2012-04-08 17:59:42 +08:00
    刚又试了,插入了5条数据,8秒同步完。
    yuxing1171
        7
    yuxing1171  
       2012-04-10 16:22:41 +08:00
    很强大
    aifreedom
        8
    aifreedom  
       2012-04-10 17:02:57 +08:00
    @thcode 那我如果不是在文件结尾处添加而是在文件中部添加了一段呢? 这样的按固定大小分割就没辙了吧?
    Semidio
        9
    Semidio  
       2012-04-10 17:51:05 +08:00
    @aifreedom 一样的,对比块差异,将修改的块之后的块等量后移对比即可。
    dianso
        10
    dianso  
       2012-04-10 18:26:45 +08:00
    连我加密过的文件都可以,没什么不行的
    binux
        11
    binux  
       2012-04-10 18:43:05 +08:00
    在chrome里面发现这个:http://www.daemonology.net/bsdiff/
    这样的二进制patch也是有解决方案的
    sqbing
        12
    sqbing  
       2012-04-10 19:04:19 +08:00
    好奇,国内的网盘也是如此,期待有人评测
    xatest
        13
    xatest  
       2012-04-10 19:07:12 +08:00
    Dropbox是可以二进制增量同步的~
    但是我记得sqlite数据库文件最好是不要同步的,例如在iOS的开发指南里就说了iCloud不允许用于同步sqlite数据库文件,因为数据库文件自身的复杂性和封闭性,希望读写数据是通过接口来操作~
    zellux
        14
    zellux  
       2012-04-10 19:12:41 +08:00
    lerry
        15
    lerry  
    OP
       2012-04-11 08:49:35 +08:00
    @xatest 我只是在没有程序读写的时候把它当作一个文件备份来着的……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1045 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:43 · PVG 03:43 · LAX 11:43 · JFK 14:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.