2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

百度技术沙龙第 37 期回顾:MySQL 优化实践(含资料下载)

  • 2013-04-23
  • 本文字数:2205 字

    阅读完需:约 7 分钟

在 4 月 20 日由 @百度主办、 @InfoQ 负责策划组织和实施的第 37 期百度技术沙龙活动上,百度运维部 DBA 王剑英和人人网数据中心技术副总监刘启荣分享了各自的 MySQL 优化实践经验,话题涉及“SEQDB——高性能 KV 型 MySQL 存储引擎”,以及“MySQL 运维感悟”等。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。

主题一:SEQDB——高性能 KV 型 MySQL 存储引擎 (下载讲稿

百度运维部 DBA 王剑英介绍了他们的技术选型过程,他首先列举了三个不同的业务场景,并分析了使用 Innodb 的解决方案。通过对于 Innbodb 的测试,他发现 Innodb 不能很好的满足百度的业务需求,主要是存在如下的问题:

  1. 数据量超过内存,IO bound 时,依赖 IOPS。
  2. Innodb 不能发挥高性能 IO 设备的潜能。
  3. Innodb 不能达到 100ms 以下 99.99% 的 SLA,达不到业务场景的要求。

为了完全发挥 SSD 的潜能,使得 QPS>=IOPS、低延迟,并且实现 SQL 接口、经验的复用,他们提出了如下的两套解决方案:

经过了一系列的对比,他们选择写一套自己的引擎。同时,为了提高面向业务的性能实现,他们选择在功能上放弃 join、range、group by 等复杂的查询功能,不做全功能引擎,简化复杂度,只支持基于主键的增删改查。

百度的 Sequentialdb 总体构架如下:

随后他从细节上分享了百度对于 SEQDB 的设计细节,包括应用的访问模型、索引结构、数据查找、垃圾回收、元信息位图和 BLOCK 管理等实现。

最后他分享了其他经验:

  1. 对于索引常驻内存安全性,建议使用一主多从和备库的结构,内存的安全性是足够的,索引放在磁盘上访问成本太高;
  2. SSD 损坏的月概率是 0.1% 以下,远低于 HDD,如果磁盘损坏则无法恢复;
  3. 时延敏感型应用,瓶颈会出现在写 binlog 上,建议调整 sync_binlog,将 binlog 迁移到 SSD 上;
  4. 毫秒级别超时 API 满足业务的延时需求

主题二:MySQL 运维感悟(下载讲稿

人人网数据中心技术副总监刘启荣的介绍这 9 年来运维 MySQL 的一些经验和心得:包括 MySQL 数据从单台演化到一个集群的过程中,所遇到过的一些问题以及所采用的解决方案、在数据库管理过程中认知的转换与变化、在整体性能优化中的各方面的取舍等。

他根据数据库机器规模的不同阶段分享了具体的实践经验:

  1. 在一个台服务器的阶段:备份

    大家一般处于应用的初期,此时性能不是最重要的,要做好备份;

  2. 在两台服务器的阶段:监控

    这个阶段一般都会建立主 / 从的数据库架构,由于宕机造成数据差异、网络问题、从库空间不足或者主库 binlog 丢失都会导致同步的问题。为了解决这个问题,需要做好监控,开启 sql_thread、io_thread,并且延时主从备份。

  3. 在十台服务器的阶段:散列

    如果面临频繁写操作,突然宕机的状况将会增多,这个时候需要对数据库做散列。

  4. 在一百台服务器的阶段:Proxy Cluster

    HA 的可靠性将会降低,需要使用 proxy cluster、HA、备份、在线的 DDL 同时使用;

  5. 在一千台服务器的阶段:系统化

    DBA 开始远离业务,部门之间的协作需求也越来越多,然而由于“人永远不靠谱”,需要标准化、自动化、统一化和流程化来保障运营需要。

百度技术沙龙三周年

本期是百度技术“三周年”,沙龙的第一期讲师刘洪清、LAMP 人社区的潘少宁、往期讲师王集鹄等嘉宾也来到现场与参会者一起为沙龙庆生。

Open Space(开放式讨论环节)

为了促进参会者与我们每期的嘉宾以及讲师近距离交流,深入探讨在演讲过程中的疑问,本次活动依然设置了 Open Space(开放式讨论)环节。

在 Open Space 的总结环节,几位话题小组长分别对讨论的内容进行了总结。

王剑英:我们针对不同的应用场景讨论了 MySQL 与不同引擎的结合方案;

刘启荣:从数据库优化的角度,对数据库选型、引擎、拆分等方面来分享了大家的经验;

DSpark:主要是和几个朋友讨论了 Python 和大数据使用相关的内容;

王集鹄:关注了 PC 和移动端感应器的区别,同时比较了 Native 和 HTML5 App 的用户体验的差异,还讨论了前端 CSS 的模块话处理方案;

会后,一些参会者也通过新浪微博分享了他们的参会感受:

wxianfeng :好多关键词啊:TPS、 QPS、SSD、HDD、IOPS、RAID 5、INNODB、handler socket、SeqDB、 binlog、位图、Master-Slave、snapshot……另外 @四喜和丸子 的演讲好搞笑啊, 祝百度技术沙龙越办越好.

太微左桓:昨天的百度技术沙龙没听懂多少东西,不过惊喜却是遇到了王集鹄老师,一轮 OpenSpace,收获是巨大的。很庆幸没有中途离场,现在想起来,还是忍不住的亢奋。

快盘 - 符小钻: 百度技术沙龙听 @四喜和丸子 讲 mysql 维护,苦逼地发现百实例级别的问题我们都碰到了。再往后,把完善的监控和自动化部署做好,千实例级别完全没有问题。再深入一些,可以根据我们业务的需求做深度定制的存储引擎。抑或是通用的数据分区方案。

harry 小淫既天才:从上年刚进百度实习就开始参加了百度技术沙龙,到现在有好几期了。很喜欢这种开放自由交流的感觉,也开阔了视眼。今天是小度沙龙三周年,祝小龙龙越办越好,影响越来越大。

Artisan_code :人很不靠谱,靠技术来约束。百度技术沙龙,人之出,性本懒。人的自制力是不靠谱的,需要周围的环境来约束,想腐败都不行。

有关百度技术沙龙的更多信息,可以通过新浪微博关注 @百度技术沙龙,或者关注 InfoQ 官方微信:infoqchina,InfoQ 上也总结了过往 36 期所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览内容

特别提示:第38 期百度技术沙龙将在5 月25 日,在深圳举行,欢迎关注 @InfoQ @百度技术沙龙获取后续的活动信息。

2013-04-23 03:553716
用户头像

发布了 89 篇内容, 共 34.3 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

【sql语句基础】——删(delete) /改(update)

写代码两年半

数据库 sql :MySQL 数据库 6月月更

485天,远程办公的 21 条心得分享|社区征文

悟空聊架构

远程办公 悟空聊架构 热门活动 初夏征文 社区征文

这篇SpringCloud GateWay 详解,你用的到

牧小农

SpringCloud Gateway

WWDC22 开发者需要关注的重点内容

37手游iOS技术运营团队

iOS16 WWDC22 Xcode14 iPadOS16 macOS10.16

基于华为云图像识别标签实战

乌龟哥哥

6月月更

什么是Vue3的组合式 API?

源字节1号

软件开发 小程序开发

flutter系列之:flutter中常用的container layout详解

程序那些事

flutter 程序那些事 6月月更

InfoQ 极客传媒 15 周年庆征文|Webpack 性能优化措施汇总

No Silver Bullet

性能优化 前端 webpack 6月月更 InfoQ极客传媒15周年庆

浅析分布式系统之体系结构-事务与隔离级别(多对象、多操作)下篇

snlfsnef

Flutter doctor 显示xcode没有安装的解决办法

坚果

6月月更

【Spring 学习笔记(十)】Spring 使用注解整合 Mybatis

倔强的牛角

Java spring Java EE 6月月更

vue自定义指令

小恺

6月月更

数据库每日一题---第9天:销售员

知心宝贝

数据库 算法 前端 后端 6月月更

浅谈居家办公后的感想| 社区征文

雪雷

居家办公 初夏征文

BottomSheetDialog 使用详解,设置圆角、固定高度、默认全屏等

yechaoa

android dialog 6月月更 material design

为什么需要微服务

阿泽🧸

微服务 6月月更

LabVIEW Arduino电子称重系统(项目篇—1)

不脱发的程序猿

单片机 LabVIEW VISA ​Arduino Uno 电子称重系统

详解Java中的值传递

工程师日月

6月月更

你还不懂线程池的设计及原理吗?掰开揉碎了教你设计线程池

C++后台开发

线程 线程池 后端开发 Linux服务器开发 C++后台开发

tornado环境搭建及基本框架搭建——熟悉的hello world

孤寒者

Python tornado 6月月更 hello world

谈谈远程工作 | 社区征文

大菠萝

初夏征文

5分钟了解攻防演练中的红蓝紫

穿过生命散发芬芳

6月月更 攻防演练

网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

赖猫

音视频 流媒体

LabVIEW控制Arduino实现红外测距(进阶篇—6)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 红外测距

数据结构进阶(一)稀疏矩阵

No Silver Bullet

稀疏矩阵 6月月更

InfoQ 极客传媒 15 周年庆征文|Dubbo入门实战:Spring + Zookeeper + Dubbo

No Silver Bullet

zookeeper 架构 dubbo 6月月更 InfoQ极客传媒15周年庆

测试基础之:黑盒测试

甜甜的白桃

测试用例 黑盒测试 6月月更

开源项目那么多,这次带你了解个版本的区别,明白alpha版、beta版、rc版是什么意思

迷彩

开源 记录 6月月更

Java—并发容器

武师叔

6月月更

模块八作业

库尔斯

#架构实战营

LabVIEW控制Arduino实现超声波测距(进阶篇—5)

不脱发的程序猿

单片机 LabVIEW Arduino VISA 超声波测距

百度技术沙龙第37期回顾:MySQL优化实践(含资料下载)_数据库_水羽哲_InfoQ精选文章