MYSQL
文章平均质量分 91
MYSQL
蓝胖子的编程梦
多年互联网大厂开发经验,深耕后端领域,擅长golang、云原生技术栈。对性能优化和服务监控方向颇有心得,对分布式链路追踪,故障诊断,实时数据分析,监控告警平台建设,性能优化及架构设计有深入研究
展开
-
MYSQL 同步到ES 如何设计架构保持一致性
最后,我来总结下,采用canal去做MySQL 到ES的数据同步,我们的确是可以做到高可靠性的,但是要注意的canal的消息消费是有可能出现重复消息的,不过由于目前我们部门没有对消息进行统计的需求,仅仅是将数据进行更新或者插入,存在即更新,没有即插入,所以是幂等,可以不用太过关注。原创 2024-03-21 15:56:29 · 458 阅读 · 0 评论 -
为什么延迟删除可以保证MYSQL 与redis的一致性?
看过很多保持MYSQL 与redis保持一致性的文章都提到了延迟删除,其实脱离任何业务场景的设计都是不切实际的,所以我会本着一个通用的读写场景去分析。原创 2024-03-20 11:43:11 · 418 阅读 · 0 评论 -
MYSQL 是如何保证binlog 和redo log同时提交的?
redo log是innodb引擎层产生的日志, MYSQL从磁盘读取数据的单位是一页,当修改页中某条数据时,该行所在的数据页就变成了脏页,由于脏页并不会立马刷新到磁盘,所以redo log会记录下数据页进行了哪些变动,用于服务崩溃时的数据恢复。redo log是固定大小的,由多个文件组成一个环形的结构,原创 2024-03-14 13:01:00 · 881 阅读 · 0 评论 -
MYSQL 主从不一致的原因分析
数据库作为存储数据的组件,数据的一致性一定是要保证的前提,今天给出两个场景来分析数据不一致的原因。原创 2024-03-13 15:20:05 · 521 阅读 · 0 评论 -
如何避免MYSQL主从延迟带来的读写问题?
GTID 的全称是,全局事务 ID,是一个事务在提交的时候生成的,是这个事务的唯一标识。MYSQL开启 GTID 模式的方式是 在启动一个 MySQL 实例的时候,加上参数和。每个事务是和GTID 值一一对应的,每个MYSQL实例会维护一个GTID 集合,来表示实例执行过的事务。在slave节点上,通过可以看到 GTID集合,如下图所示,,表示这对主备关系使用了 GTID 协议。,是备库收到的所有日志的 GTID 集合。,是备库所有已经执行完成的 GTID 集合。原创 2024-03-08 17:34:44 · 751 阅读 · 1 评论 -
看了还不懂b+tree的本质就来打我
大家好,我是蓝胖子。今天我们来看看b+tree这种数据结构,我们知道数据库的索引就是由b+tree实现,那么这种结构究竟为什么适合磁盘呢,它又有哪些缺点呢?我将不会对b+tree的一些定义做过多的讲解,因为这些东西网上一大推,关键还是要抓住本质,想想为什么b+tree这么设计?原创 2023-03-20 15:59:51 · 112 阅读 · 0 评论 -
【升职加薪秘籍】我在服务监控方面的实践(6)-业务维度的mysql监控
这一节我们完成了对mysql的监控,不过这个监控指标是在传统数据库监控项基础上建立的,目的是为了让监控指标更加容易反映到业务上,方便问题定位,在下一节我将会演示如何对redis进行监控,与mysql监控类似,我们也需要从业务维度思考对redis的监控。原创 2023-08-22 17:00:08 · 121 阅读 · 0 评论 -
mysql invalid conn排查
服务使用golang ,客户端库是go-mysql-driver ,系统但是不总是报出invalid conn 错误,但实际拿sql执行时却是正常执行。原创 2023-07-12 23:19:21 · 190 阅读 · 0 评论 -
5分钟掌握mysql 大表如何ddl
在提交表定义阶段,MDL读锁升级为MDL排他锁,以排除旧表定义并提交新表定义。一旦授予,独占MDL锁的持续时间就会很短。可以看到如果使用inplcae 算法,只有在任务提交阶段(时间很短), ddl才会阻塞dml语句,因为任务提交阶段会持有MDL 排他锁,而DML 语句执行时需要获取MDL读锁,所以在此期间,DML语句会被阻塞。具体哪些ddl操作类型支持Inplace 算法,可以查看官方文档链接,比如下面的mysql5.7的文档。原创 2023-09-04 10:37:53 · 622 阅读 · 0 评论 -
【mysql系列】mysql group by 执行原理及千万级别count 查询优化
大家好,我是蓝胖子,前段时间mysql经常碰到慢查询报警,我们线上的慢sql阈值是1s,出现报警的表数据有 7000多万,经常出现报警的是一个group by的count查询,于是便开始着手优化这块,遂有此篇,记录下自己优化过程中的心得。优化慢sql前,肯定是要懂sql的查询逻辑,所以我先介绍下group by 语句的执行逻辑。原创 2023-11-17 17:30:13 · 417 阅读 · 0 评论