会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
DBA John
博客园
首页
新随笔
联系
订阅
管理
[置顶]
源码浅析:InnoDB聚集索引如何定位到数据的物理位置,并从磁盘读取
摘要: 索引结构概述: MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。这与Oracle的索引结构相似,比较好理解。那么,常用的Innodb聚集索引结构是怎样的呢? InnoDB的数据文件本身(.ibd文件)就是索引文件。在InnoDB中,表数据文件本身就是按B+Tree组织的一个索引
阅读全文
posted @ 2019-12-25 14:53 Johnliu2008
阅读(1243)
评论(0)
推荐(0)
2020年8月25日
hadoop日志收集失败的问题排查
摘要: 涉及到内部信息的部分,已经经过脱敏。 现象: 接到数据分析师的报障,说QA环境最近10天的game_client_log日志数据查不到,需要尽快解决,以便分析周末测试的数据。 排查过程: 1、检查flume 因为8月13日运维问过我关于flume和kafka的问题,而game_client_log数
阅读全文
posted @ 2020-08-25 15:57 Johnliu2008
阅读(557)
评论(0)
推荐(0)
2020年5月12日
5.7.17版本mysqlbinlog实时拉取的二进制日志不完整的原因分析
摘要: 使用pstack, strace工具,结合源码分析与官方文档,最终找到根本原因
阅读全文
posted @ 2020-05-12 17:42 Johnliu2008
阅读(827)
评论(0)
推荐(0)
InnoDB的ibd数据文件为什么比data_length+index_length+data_free的总和还要大?
摘要: 问题描述: 同事在给jiradb做mysqldump时,发现dump出来的文件只有10MB左右,而ibd文件占用磁盘空间100MB左右。 最初,我们猜测可能是delete操作导致了大量的磁盘碎片,以及二级索引占用了很多空间。 但是对比了data_length+index_length+data_fr
阅读全文
posted @ 2020-05-12 16:00 Johnliu2008
阅读(1756)
评论(0)
推荐(0)
2020年4月29日
gh-ost工具在线改表过程的详细解析
摘要: gh-ost,是github开源的一款在线修改MySQL表结构的工具https://github.com/github/gh-ost/,它不使用pt-osc的触发器机制,而是使用解析binlog来实现将增量数据复制到新表。 最近我抽空了解了一下它的源码,结合debug日志,整理出它的过程,如下: 1
阅读全文
posted @ 2020-04-29 17:51 Johnliu2008
阅读(657)
评论(0)
推荐(0)
2020年3月15日
MySQL5.7 使用utf8mb4字符集比latin1字符集性能低25%,你敢信?
摘要: sysbench使用utf8mb4测试: 在进一步测试的时候,我修改了/usr/share/sysbench/oltp_common.lua脚本的如下部分,使之在建立数据库连接的时候执行"SET NAMES utf8mb4"(用途请参考https://dev.mysql.com/doc/refman
阅读全文
posted @ 2020-03-15 15:07 Johnliu2008
阅读(1880)
评论(3)
推荐(0)
2020年3月8日
通过slow query log可以查出长时间未提交的事务吗?用实验+源码来揭晓答案
摘要: 与数据库打过交道的人,大多都知道:长时间未提交的事务,会导致更多的锁冲突,而且也会导致主从复制的延时高。 针对这个问题,我曾经想过,能否通过分析slow query log来定位? 首先,我从官方文档中看到如下描述: PropertyValue Command-Line Format --long-
阅读全文
posted @ 2020-03-08 16:04 Johnliu2008
阅读(426)
评论(0)
推荐(0)
2020年2月26日
源码浅析:MySQL一条insert操作,会写哪些文件?包括UNDO相关的文件吗?
摘要: DML操作的大致流程 在解答上述疑惑之前,我们来梳理一下DML操作的大致流程: 1、语法解析、语义解析 2、生成执行计划 3、事务修改阶段 1) 激活事务,事务状态由not_active变为active 2) 查找定位数据 3) 乐观插入 4) 记录insert相关的undo记录,并将undo记录的
阅读全文
posted @ 2020-02-26 16:59 Johnliu2008
阅读(887)
评论(0)
推荐(1)
2020年1月15日
HUE下载HDFS文件时报ERR_CONNECTION_TIMED_OUT错误的解决办法
摘要: 1、故障描述 这是运行在公有云上的一套Hadoop集群,有一个公网IP将部分服务的端口映射出来供办公室访问。 数据分析师报告说:在HUE上面浏览HDFS文件,点击"download"准备下载时,会被重定向到 http://10.0.34.11:4032/webhdfs/v1/xk/logs/prd/
阅读全文
posted @ 2020-01-15 14:58 Johnliu2008
阅读(2062)
评论(0)
推荐(0)
2020年1月14日
MongoDB集群负载不均衡问题定位及解决
摘要: 1、问题描述 这是一套运行在腾讯云上的MongoDB 3.6版本集群,共5个分片,每片规格是6核16GB。 在压测的过程中,发现第3个分片的CPU使用率长时间高达96%,其它4个分片的CPU使用率都没有超过10%。 2、思考及分析 首先,我查看慢日志,发现大量与postbox相关的query,半个小
阅读全文
posted @ 2020-01-14 18:13 Johnliu2008
阅读(1676)
评论(0)
推荐(0)
2019年12月26日
关于Redis缓存预热的思考
摘要: 系统上线时,提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题。 这里我考虑2个问题: A、哪些数据需要预热? B、如何预热? 关于问题A,根据不同的业务系统有不同的方法。 可以将已知的热门数据加载到Redis,这种方法适合于基本不变化的数据; 使用r
阅读全文
posted @ 2019-12-26 15:26 Johnliu2008
阅读(4750)
评论(0)
推荐(0)
下一页
公告