数据库技能会议。大会将针对大数据架构规划、数据库安全、分布式数据库、商业智能、数据库优化、NoSQL、Hadoop等多个要点话题进行深入探讨。此次大会得到了全国数据库技能高手们的高度重视与支撑,是当时标志最高技能水平的数据库工程师盛会。
在当天下午的MySQL应用实践专场中来自淘宝网的DBA架构师为与会人员带了淘宝中心库优化实践课程《中心库上的MySQL运维》。
MySQL现已成为淘宝最主要的在线数据存储东西,教师这次将为咱们介绍淘宝MySQL DB架构,以及怎么完成切换(Failover)、怎么优化、保护MySQL,从而低成本,高功率的支撑淘宝在线数据事务。
介绍说,MySQL在淘宝现已支撑起相当多的事务,登录过淘宝的用户都会看到以下所示的界面。
此界面中的多数信息都是存放在MySQL中的,如URL、欢迎信息、价格、物流、点评等。淘宝的事务是垂直划分的,如商品中心、交易中心等很多事务线,所有的APP都是经过中间层TDDL(淘宝分布式数据层)拜访到数据库(群集)。商品中心现有5TB的数据,应用、查找和数据仓库都需要用到数据库,但查找和数据仓库经过中间层拜访的是数据库中的装备信息,监控体系会随时反常的拜访进行预警。
容灾也是DBA必须要考虑的,多个MySQL主机中的某台主机一旦产生故障,假如是要害节点,则会自动将其拜访切换到其他主机上,前期经过IP地址完成数据库的切换,提供给客户端的数据库连接IP,由于切换后,IP地址变了,假如手动更改程序,就不太现实。所以,现在改用域名的方法。由于DNS能够进行相应的装备。操作起来比较灵敏。
MySQL表优化
现场为咱们介绍了MySQL Optimize Table,很难说Optimize Table到底能不能提高体系运行功率,但是有一点是肯定的:它能够帮咱们收回更多的空间、减少“碎片”(defragment)。在InnoDB的保护过程中,咱们总会遇到磁盘耗尽、或许InnoDB Tablespaces用完的情况。这时分,在考虑扩容等计划之前,最好先使用Optimize Table试试。假如你的表大字段(Text Blob Varchar),而且更新、删除较频繁的话,Optimize之后可能会腾出大量的空间。目前支撑optimize指令的引擎有 MyISAM, InnoDB, and ARCHIVE,关于InnoDB,会将optimize指令映射为ALTER TABLE指令,该指令会重建数据表,更新索引计算信息、收回主键索引中空间。假如你的MySQL是有备库的,假如你只期望在主库上执行的话,那么能够加上要害字NO_WRITE_TO_BINLOG(或许LOCAL,意思完全相同)。这关于MM结构的MySQL数据库尤为重要,由于很多时分,你仅仅想在备库上执行,而不期望影响主库。
当运营中的MySQL服务器增多的时分,Bug也在所难免,怎么处理Bug?给咱们介绍了一些东西和方法,他说,尝试找到Bug重现的场景,确认这是一个Bug,而不是一个Mistake。一般遇到Bug,都能在MySQL Bug找到线索,假如能够确认是Bug,能够看看新的版别是不是现已修复,假如修复则能够考虑晋级小版别号。别的,找到Bug重现的场景,还能够考虑绕过Bug(workaround),让自己的应用或许DDL尽量防止Bug出现。有时分,新版别新特性会带来一些Bug,不得以咱们还能够考虑降级版别,虽然这是不推荐的做法,由于这样的可能陷入死循环。