zoukankan      html  css  js  c++  java
  • MySQL全量同步和增量同步-记一次对资深老开发的采访

    me:为啥你们队答辩时说的话, 我听了没啥感觉, 评委听了直接就深有感触了?

    资深:生产不可能只同步一张表和10W数据, 其他队伍用jdbc的方法同步全量数据, 在真实环境决绝报错.生产都是5000万以上的表. 有的团队把数据暂时存放在队列或缓存。然后统一发送到kafka, 真实环境肯定不是这么搞的.

    me: 但是一些开源同步工具就是用队列的, 有的工具还用了多个队列.

    资深: 这个考题,其实就是做一个做一个数据采集工具。 一个部分是流式,一部分是历史, 采集完直接推给使用方法。如果是多表或海量数据,队列都有塞爆的可能, 用队列不符合实际场景, 拿到流式数据直接处理就完事了。所以,如果考题提升一下难度。 5000千万数据库。大部分系统是不是会报错

    me: 增量的binlog dump感觉是完全不会传错的, 因为这就是master slave的replication协议;  然后你的意思是对于全量数据mysql_dump肯定比jdbc靠谱是吗?

    资深: 肯定的,你说dba备份数据的时候 有用jdbc处理的吗。最快的是拷贝文件, 其次是dump import 数据.

    me: 尴尬, 我们就是测试发现mysql_dump太慢了, 所以就弃用那个方案了...

    资深: /data/mysql/mysql/bin/mysqldump -n --compact --skip-extended-insert --skip-set-charset --skip-tz-utc --no-create-db --no-create-info --skip-triggers --no-create-db  --default-character-set=utf8 --insert-ignore --skip-comments -hxxxx -uauto_test -pauto_test -P3306 --databases auto_test --tables sbtest4

    资深: 这些参数都是看官方文档一个个查的, 一张表瞬间搞定.

    ---eof---

  • 相关阅读:
    docker 安装使用jenkins
    docker 安装禅道
    在linux定时执行docker容器的命令不成功
    docker 安装nginx+php
    php发起http请求
    安装docker
    REST(Respresentaional State Transfer 表现层状态转化)
    git 分支操作
    git常用命令
    php多进程编程
  • 原文地址:https://www.cnblogs.com/yinkw/p/hackathon-interview.html
Copyright © 2011-2022 走看看