写点什么

百度技术沙龙第 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:553551
用户头像

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

关注

评论

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

模块一课后作业

追随哆咪

架构实战营

二十八分钟,带你用gitlab向企业微信发出灵魂拷问

📿

Java gitlab gitlab ci

Linux ln 命令

一个大红包

4月日更

北京天源迪科上线迪科商旅App

DT极客

史上最全的Java面试题库宝典,Github上标星200k,太香了!

Java架构之路

Java 程序员 架构 面试 编程语言

安全之路其修远兮,吾将上下而求索

Thrash

微信业务架构图

@oo?金樱子

跟单交易系统开发|跟单交易APP软件开发

系统开发

翻译:《实用的Python编程》02_00_Overview

codists

Python

架构实战营模块1作业

半夏

学习 架构实战营

给视频添加雪花飘落特效

老猿Python

OpenCV 音视频 图形图像处理 视频特效 引航计划

秒合约交易系统开发|秒合约交易APP软件开发

系统开发

阿里巴巴开源容器镜像加速技术

阿里巴巴云原生

Serverless 容器 云原生 k8s 存储

阿里的 RocketMQ 如何让双十一峰值之下 0 故障?

阿里巴巴云原生

容器 运维 云原生 k8s 消息中间件

架构实战营模块一作业

冷大大

作业 架构实战营 模块一

音频应用类开源 Demo 大盘点

anyRTC开发者

ios android 音视频 WebRTC RTC

数字货币期权交易系统开发|数字货币期权交易APP软件开发

系统开发

架构实战营课程1作业

求索

学习 架构实战营

全网最全人工智能专业术语表(中英文对照)

澳鹏Appen

人工智能 大数据 数据 科技互联网 专业术语

双非本化学跨专业,投岗阿里/滴滴后端三面,最终拿下offer

Java 编程 程序员 架构 面试

金三银四旗开得胜!春招字节正式批4面,顺利拿到offer

Java 编程 程序员 架构 面试

项目优化-代码拆分

Darren

android 组件化 代码优化

apk优化,Android高级工程师必看系列,在线面试指南

欢喜学安卓

android 程序员 面试 移动开发

聪明人的训练(六)

Changing Lin

4月日更

Flink集成Iceberg在同程艺龙的实践

Apache Flink

flink

Knative 基于流量的灰度发布和自动弹性实践

阿里巴巴云原生

Serverless 容器 开发者 云原生 k8s

图解云原生应用设计模式

倪朋飞

Kubernetes 云原生

锁仓挖矿系统开发|锁仓挖矿APP软件开发

系统开发

查漏补缺!驱动核心源码详解和Binder超系统学习资源,挥泪整理面经

欢喜学安卓

android 程序员 面试 移动开发

Fluid — 云原生环境下的高效“数据物流系统”

阿里巴巴云原生

人工智能 云计算 容器 云原生 存储

七进七出,终获阿里32k*16offer,这就是我悲惨的面试经历~

Java架构师迁哥

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