Posted on 2012-04-15 16:37
zljpp 閱讀(110)
評論(0) 編輯 收藏

消息稱,Twitter決定開放其MySQL數(shù)據(jù)庫源代碼。Twitter DBA和DB開發(fā)組的成員Jeremy Cole和Davi Arnaut表示,大部分Twitter數(shù)據(jù)都采用了MySQL作為持久化存儲,包括興趣圖、時間線、Tweets以及用戶數(shù)據(jù)。
由于Twitter的數(shù)據(jù)規(guī)模和訪問規(guī)模,他們不得不對MySQL源碼進行修改優(yōu)化以適應這種級別的應用。為了回饋社區(qū),他們決定在基于BSD許可證下開源MySQL。項目托管在GitHub上。
在該博客中,還列出了Twitter在MySQL上的主要改進工作,包括:
- 增加狀態(tài)變量,特別是在InnoDB引擎內。這樣能更有效地監(jiān)控系統(tǒng)負載和運行狀態(tài)。
- 在非一致性內存訪問系統(tǒng)中優(yōu)化內存分配。在初始化時就分配InnoDB的緩存池,如果內存不足則可迅速獲得錯誤報告,這樣在服務器面臨內存壓力時也能保證性能穩(wěn)定。
- 減少查詢超時中一些不必要的操作,這樣服務器可以在毫秒級別主動取消耗時過長的查詢。
- 以一種輕量的方式導入導出InnoDB的緩存池。這樣可以讓我們以最小的代價執(zhí)行回滾。
- 針對SSD固態(tài)硬盤進行優(yōu)化,包括page-flushing以及減少寫操作以改善SSD硬盤壽命。
英文鏈接:engineering.twitter.com(無法正常訪問)