BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 水羽哲 关注 0 他的粉丝 发布于 2013年4月24日. 估计阅读时间: 7 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

在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@百度技术沙龙获取后续的活动信息。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT