• 请不要在回答技术问题时复制粘贴 AI 生成的内容
a251922581
V2EX  ›  程序员

服务器端 MySQL 数据持续增加 3 小时,客户端只有 Sqlite,数据如何同步到客户端 Sqlite 比较好?

  •  
  •   a251922581 · Sep 21, 2017 · 2611 views
    This topic created in 3246 days ago, the information mentioned may be changed or developed.
    客户启动任务后,任务产生的数据都存到服务器端 MySQL 的表里,客户端为了增删查改速度快一点只维护一个本地的 SQLite 数据库,一个任务 3 ~ 5 个小时,每秒产生 10 条数据,期间服务器端存储在 MySQL 里的数据要同步到客户端。
    目前实现很 low,服务器端把 MySQL 增量插入的数据再导出到 CSV,然后存储到文件,让客户端通过 HTTP ( Nginx )下载,然后把增量的 CSV 数据导入 Sqlite...无语了吧..
    客户端因是 Sqlite,用 MySQL 的主从复制应该不行了吧。。
    10 replies    2017-09-21 18:41:42 +08:00
    jwk345
        1
    jwk345  
       Sep 21, 2017 via iPhone
    写接口用定时任务下载啊
    misaka19000
        2
    misaka19000  
       Sep 21, 2017 via Android
    用本地 SQLite 能快多少?
    winglight2016
        3
    winglight2016  
       Sep 21, 2017
    这么多数据需要全部同步到客户端吗?感觉很无谓,通过 API 获取用户当前需要的数据就够了吧?

    为了增删查改速度快一点——把服务端的响应代码优化一下才是更好的选择啊,例如:把最近任务的数据全部加载到内存里缓存好
    owenliang
        4
    owenliang  
       Sep 21, 2017   ❤️ 1
    一般都是基于 binlog 做,开源项目自己搜。
    a251922581
        5
    a251922581  
    OP
       Sep 21, 2017
    @misaka19000
    @owenliang 本地有份副本的话方便离线也能查看,客户端只获取增量的方式暂时没想出来,呵呵 这样子看下一步搜一下开源软件,或者要自己写一个接口。。
    janxin
        6
    janxin  
       Sep 21, 2017
    不是很能理解这样设计的原因...
    增删改不同步到 MySQL 里面吗?
    Klingon
        7
    Klingon  
       Sep 21, 2017
    试试 couchbase?
    iappled
        8
    iappled  
       Sep 21, 2017
    需要啥拿啥啊,分个页??
    LukeChien
        9
    LukeChien  
       Sep 21, 2017 via Android
    用阿里的 Canal 读 binlog 实时更新 sqlite
    a251922581
        10
    a251922581  
    OP
       Sep 21, 2017
    @janxin 服务器端数据产生一遍给客户端,服务器端就不管事儿了,客户端自己查看 /管理数据了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1211 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 809ms · UTC 23:38 · PVG 07:38 · LAX 16:38 · JFK 19:38
    ♥ Do have faith in what you're doing.