萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> 數據庫綜合 >> 淘寶核心庫上的MySQL優化講解

淘寶核心庫上的MySQL優化講解

隨著社會的發展計算機已經逐漸走進平常家庭,對計算機的熟練掌握也是時代所必需的,下面就讓我們一起來欣賞這篇關於淘寶核心庫上的MySQL優化的文章吧!

業界舉世矚目的“2012數據庫技術大會”已於2012年4月13日在京盛大召開,本次大會已經是IT168、ITPUB、IXPUB、ChinaUnix聯合主辦的第三屆數據庫技術會議。大會將針對大數據架構設計、數據庫安全、分布式數據庫、商業智能、NoSQL、Hadoop等多個重點話題進行深入探討。此次大會得到了全國數據庫技術高手們的高度關注與支持,是當前象征最高技術水平的數據庫工程師盛會。

在當天下午的MySQL應用實踐專場中來自淘寶網的DBA架構師周振興為與會人員帶了淘寶核心庫優化實踐課程《核心庫上的MySQL運維》。

MySQL已經成為淘寶最主要的在線數據存儲工具,周振興老師這次將為大家介紹淘寶MySQL DB架構,以及如何實現切換(Failover)、如何優化、維護MySQL,從而低成本,高效率的支持淘寶在線數據業務。

淘寶核心庫上的MySQL優化

MySQL@TaoBao

周振興介紹說,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優化

當運營中的MySQL服務器增多的時候,Bug也在所難免,如何處理Bug?周振興給大家介紹了一些工具和方法,他說,嘗試找到Bug重現的場景,確定這是一個Bug,而不是一個Mistake。一般遇到Bug,都能在MySQL Bug找到線索,如果能夠確定是Bug,可以看看新的版本是不是已經修復,如果修復則可以考慮升級小版本號。另外,找到Bug重現的場景,還可以考慮繞過Bug(workaround),讓自己的應用或者DDL盡量避免Bug出現。有時候,新版本新特性會帶來一些Bug,不得以我們還可以考慮降級版本,雖然這是不推薦的做法,因為這樣的可能陷入死循環。

以上就是精品為您准備的關於淘寶核心庫上的MySQL優化的信息,希望對您的生活工作有幫助。

copyright © 萬盛學電腦網 all rights reserved