概要

在大数据时代,数据研发人员总是想把各类数据采集到我们的数据仓库。最典型的方案是日志收集方案: flume采集文件,转发到kafka,再使用storm、spark写到hdfs。但是实际场景中,我们的数据源不止文件,还有mysql这类db数据。

众所周知,mysql是可以开启binlog的,也就是说我们对db的每个操作都可以通过binlog解析得到。所以我们实时解析mysql的binlog文件,即可实时获取到db的各个变更事件,就可以实时地将insert的数据,像tail日志文件一样,以规范化的形式发送到我们后端的消息中间件。

注意点

binlog row模式
最需要支持的点:
mysql必须支持binlog,且必须是row模式。需要关注几个问题:
1.row模式的binlog是远大于其他模式,需要注意磁盘容量
2.从其他模式binlog(如mix)改为row模式,需要断开已有mysql的连接,需要dba及相关业务开发评估可行性。
3.不需要采集的库表要独立出去,不然大量无关binlog会影响采集器的性能,堵塞通道。(需要推动业务改)
4.row模式下日志变多,还有从库解析方式发生变化,可能会造成主从不一致(状态延迟)的情况,需要dba确认

支持的语句
不支持DDL,只是inset最好,就类似文件的append。update、delete都会增加后端的处理逻辑。

事务支持
本身就是用于大数据处理的,不支持事务

字段问题
建议末尾追加字段,只用简易字段(int,string)

总结

binlog方案技术上没什么特别难点,重点还是运营的坑比较多

参考资料:
https://blog.csdn.net/u013128262/article/details/80040310

mysql binlog笔记相关推荐

  1. mysql 日志节点恢复_基于binlog二进制日志的MySQL恢复笔记

    基于binlog二进制日志的MySQL恢复笔记 刚好复习到这里,顺手做个小实验,记录下. 总的操作流程: step0.关掉数据库的对外访问[防止用户操作继续写入这个库] step1.mysqlbinl ...

  2. MySQL学习笔记(1)——高可用组复制

    MySQL学习笔记(1)--高可用组复制 积土成山,风雨兴焉.积水成渊,蛟龙生焉. 一.概念 组复制(MySQL Group Replication,MGR)是MySQL官方在MySQL 5.7.17 ...

  3. mysql binlog协议_mysql binlog协议分析--具体event

    这几天在修改canal, 连接mysql和maria接收到的event有所区别 拿一个简单的insert sql来举例 mysql 会有以下几个event写入到binlog里 1.ANONYMOUS_ ...

  4. JavaEE 企业级分布式高级架构师(六)MySQL学习笔记(6)

    MySQL学习笔记 性能优化篇 性能优化的思路 慢查询日志 慢查询日志介绍 开启慢查询功能 演示一 演示二 分析慢查询日志 MySQL自带的mysqldumpslow 使用percona-toolki ...

  5. MySQL 学习笔记②

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/BV1Kr4y1i7ru 资料链接 ...

  6. 数据库MySQL学习笔记高级篇(周阳)

    数据库MySQL学习笔记高级篇 1. mysql的架构介绍 mysql简介 高级Mysql mysqlLinux版的安装 mysql配置文件 mysql逻辑架构介绍 mysql存储引擎 2. 索引优化 ...

  7. 字节跳动内部 MySQL 学习笔记火了,完整版开放下载!

    最近很多小伙伴找我要一些 MySQL 基础资料,于是我翻箱倒柜,把这份阿里大牛总结的 MySQL 归纳笔记找出来,免费共享给大家! 据说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资 ...

  8. Mysql binlog日志及binlog恢复数据库操作

    初识MySQL 日志binlog MySQL重要log,二进制日志文件,记录所有DDL和DML语句(除select),事件形式记录,包含语句所执行的消耗时间,事务安全型. DDL(数据库定义语言),主 ...

  9. 【mysql学习笔记整理】

    /*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作 #创建 #数据库的创建 USE mysql; CREATE DATABASE db_x; #删除 #删除数据库 DROP DA ...

最新文章

  1. 【Java】Linux下安装配置Oracle JDK 1.7版本
  2. Nat. Rev. Neurol. | 机器学习在神经退行性疾病诊断和治疗中的应用
  3. 为什么每个函数都要测试
  4. 简易mysql优化_优化 MySQL:简单三个技巧
  5. MySQL8.0允许外部访问
  6. 模拟太阳系的html,纯HTML5制作的震撼太阳系网页
  7. testng教程_TestNG教程
  8. 北京黑马程序员javaEE第19期课程
  9. Hadoop环境搭建 MYSQL环境配置
  10. mysql 特殊符号_mysql 特殊字符问题
  11. 中文简繁转换项目 OpenCC
  12. 当复制Web浏览器的SVN地址到TorioseSVN上时显示错误,无法解析URL
  13. Pokémon Army (easyversion) -每天一把CF - 20201007
  14. [深度学习] (sklearn)多层感知机对葡萄酒的分类
  15. signature=0e936ad5c99bd8d603e71fa74e787bee,JavaScript 的 BASE64 算法 实现 完美解决中文乱码...
  16. Soft-Clipping Mish激活函数
  17. SD-RTN——毫秒级网络加速带来全新的体验
  18. sgu 187 Twist and whirl - want to cheat 伸展树(splay)
  19. ZMQ 完全指南--让你跟快捷的进入状态
  20. 善用产业大数据平台,赋能产业数字化转型升级

热门文章

  1. [答疑]两个客户A,B,都要求你给找一个性感女郎
  2. 红外寻迹小车基于K128单片机的红外对管飞思卡尔智能车(5个对管)程序部分
  3. Python爬虫 百度地图搜索数据采集
  4. 为什么1个字节(Byte)等8位(Bit)?
  5. LLVM和Clang背后的故事
  6. PostgreSQL 数据库系列之二:PSQL客户端
  7. 获取上一个交易日—python
  8. gitlab 的备份与恢复
  9. mpVue的基本介绍
  10. Python零基础速成班-第9讲-Python面向对象编程(上),对象和类、初始化、继承、重写、多态、类方法、组合