V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
codedump
V2EX  ›  分享创造

自己的开源项目 replited:备份 sqlite 数据到各类型存储后端

  •  
  •   codedump ·
    lichuang · 30 天前 · 1521 次点击
    replited ( https://github.com/lichuang/replited ):利用 sqlite 的 WAL 文件格式,可以增量同步备份 sqlite 数据,同时由于使用了 opendal ,可以很方便得接入各种存储平台,目前已经支持 s3 、ftp 、gcs 、本地文件系统,未来可以支持更多类型的存储后端。
    7 条回复    2024-10-09 10:14:42 +08:00
    iyear
        1
    iyear  
       30 天前
    好奇和 https://github.com/benbjohnson/litestream 这个项目的差异
    daimaosix
        2
    daimaosix  
       30 天前
    不错,Rust 写的,给你推荐个 Go 写的全能选手: https://github.com/gobackup/gobackup
    daimaosix
        3
    daimaosix  
       30 天前
    codedump
        4
    codedump  
    OP
       30 天前
    @iyear 就目前来说,第一版的原理深度参考了 litestream ,如何利用 wal 实现增量备份数据,由于使用了 opendal ,后面支持起其它类型的存储后端会很容易,理论上只需要新增对应的配置就可以了,代码会写的很少。另外,目前看 litestream 作者去了 fly.io 之后,对项目维护的很少了,就我阅读下来的感受,还是有不少细节可以优化打磨的,这都需要后面再继续花时间了。
    codedump
        5
    codedump  
    OP
       30 天前
    @daimaosix 我看了一下这个项目的 sqlite 部分,应该是每次备份都是全量数据备份,实际上可以利用 sqlite 的 wal 做到增量备份的。
    yuedanwork
        6
    yuedanwork  
       29 天前
    sqlite rsync is coming. see: https://sqlite.org/draft/rsync.html
    codedump
        7
    codedump  
    OP
       29 天前
    @yuedanwork 和官方的这个工具定位稍微有点不一样,它的介绍是“Database Remote-Copy Tool For SQLite”,强调的是拷贝数据库到远程,replited 用于数据库的备份。不过从官方要出工具可以看到,同步、备份 sqlite 这类的需求应该要提到一定的优先级了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5336 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:34 · PVG 16:34 · LAX 00:34 · JFK 03:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.