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

2017-09-21 11:58:39 +08:00
 a251922581
客户启动任务后,任务产生的数据都存到服务器端 MySQL 的表里,客户端为了增删查改速度快一点只维护一个本地的 SQLite 数据库,一个任务 3 ~ 5 个小时,每秒产生 10 条数据,期间服务器端存储在 MySQL 里的数据要同步到客户端。
目前实现很 low,服务器端把 MySQL 增量插入的数据再导出到 CSV,然后存储到文件,让客户端通过 HTTP ( Nginx )下载,然后把增量的 CSV 数据导入 Sqlite...无语了吧..
客户端因是 Sqlite,用 MySQL 的主从复制应该不行了吧。。
2110 次点击
所在节点    程序员
10 条回复
jamesxu
2017-09-21 12:08:41 +08:00
写接口用定时任务下载啊
misaka19000
2017-09-21 12:10:05 +08:00
用本地 SQLite 能快多少?
winglight2016
2017-09-21 13:12:18 +08:00
这么多数据需要全部同步到客户端吗?感觉很无谓,通过 API 获取用户当前需要的数据就够了吧?

为了增删查改速度快一点——把服务端的响应代码优化一下才是更好的选择啊,例如:把最近任务的数据全部加载到内存里缓存好
owenliang
2017-09-21 13:16:28 +08:00
一般都是基于 binlog 做,开源项目自己搜。
a251922581
2017-09-21 13:34:10 +08:00
@misaka19000
@owenliang 本地有份副本的话方便离线也能查看,客户端只获取增量的方式暂时没想出来,呵呵 这样子看下一步搜一下开源软件,或者要自己写一个接口。。
janxin
2017-09-21 14:45:01 +08:00
不是很能理解这样设计的原因...
增删改不同步到 MySQL 里面吗?
Klingon
2017-09-21 17:17:25 +08:00
试试 couchbase?
iappled
2017-09-21 17:46:10 +08:00
需要啥拿啥啊,分个页??
LukeChien
2017-09-21 17:56:39 +08:00
用阿里的 Canal 读 binlog 实时更新 sqlite
a251922581
2017-09-21 18:41:42 +08:00
@janxin 服务器端数据产生一遍给客户端,服务器端就不管事儿了,客户端自己查看 /管理数据了。

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

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

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

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

© 2021 V2EX