首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
Coding
V2EX  ›  MySQL

求 MySQL 增量更新和维护汇总表解决方案

  •  
  •   jiezhi · 2018-07-27 09:18:38 +08:00 · 1959 次点击
    这是一个创建于 504 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我这边负责数据处理,需要从业务库里拉取数据进行分析。一方面需要定时做个汇总表,这样一些需要计算的过程可以提前做好了;另一方面想把业务端的数据增量更新到我这边的数据库里。

    本来我的打算是,前者用事件,后者用触发器的。但同时说最好不要把这些逻辑放到数据库来做,影响效率。

    目前了解到首富家有个 canal 项目,基于解析 binlog 的。

    所以针对这两个问题,V 友现在有没有什么其他好的解决方案?不吝赐教。
    8 回复  |  直到 2018-07-27 14:05:41 +08:00
        1
    lihongjie0209   2018-07-27 09:39:02 +08:00   ♥ 1
    手动拉取的话可以记录一个最后拉取的 ID, 每次拉取都从这个 ID 开始
        2
    jiezhi   2018-07-27 09:42:58 +08:00
    @lihongjie0209 #1 这只能获取到新增的数据,拿不到修改和删除的数据。即使加上了 update_time,也拿不到删除的数据。
        3
    zhouquan03   2018-07-27 09:45:08 +08:00   ♥ 1
    我们也遇到同样的问题。采用数据+版本号方式,数据逻辑删除就行,删除操作就变更为 update,加上定期归档解决问题。
        4
    lihongjie0209   2018-07-27 09:48:08 +08:00
    @jiezhi #2 是的, 如果需要更新和删除数据的事件,一种办法就是业务方改代码, 不过这种一般不可能. 那么剩下的就是你所说的 binlog 了
        5
    lihongjie0209   2018-07-27 09:48:46 +08:00
    @zhouquan03 #3 这就说我所说的需要业务方改代码
        6
    ccl945   2018-07-27 11:01:22 +08:00   ♥ 1
    kettle 了解一下
        7
    owenliang   2018-07-27 11:51:50 +08:00   ♥ 1
    让业务主动把变化同步到队列,你来消费。

    少用什么 binlog tailer,都是半吊子项目,坑死你没商量。
        8
    windfarer   2018-07-27 14:05:41 +08:00   ♥ 1
    介绍几个半吊子项目给你踩踩坑,www https://farer.org/2018/07/27/change-data-capture/
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2404 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 14:15 · PVG 22:15 · LAX 06:15 · JFK 09:15
    ♥ Do have faith in what you're doing.