2012-04-11 58 views
0

Twitter已經開源了他們的Mysql源代碼。需要幫助瞭解Twitter的開源Mysql更改/更新

此博客文章http://engineering.twitter.com/2012/04/mysql-at-twitter.html提到了不同的變化。

我已經使用Mysql作爲開發者執行查詢,但從來不得不深入挖掘其源代碼。我嘗試通過github https://github.com/twitter/mysql上的源代碼,但不知所措。 所以我以爲我會在這裏發佈並獲得一些幫助。

  1. 我想更好地瞭解Twitter的變化是如何在Oracle的版本改進 Mysql的。

  2. 如果我想讓蘋果與蘋果的版本和Twitter的版本之間進行比較,那麼兩者之間具體的優點是什麼。

還有很多問題出現在我的腦海裏。

我知道這是一個高級的DB主題,但我很想了解它。

回答

0

他們描述的變化包括:

添加額外的狀態變量,特別是從 的InnoDB的內部。這使我們能夠更有效地監控我們的系統,並在處理生產工作量時更好地理解他們的行爲。大型NUMA系統

優化內存分配:完全分配InnoDB的 緩衝池在啓動時,失敗的快,如果內存不可用, 確保隨着時間的推移性能,即使服務器受到內存 壓力。

通過改進服務器端 語句超時支持減少不必要的工作。這允許服務器主動取消運行時間超過毫秒粒度超時的查詢 。

使用安全輕量級的 方法導出並恢復InnoDB緩衝池。這使我們能夠構建工具,以最小的痛苦支持我們的服務的滾動重新啓動。

爲基於SSD的機器優化MySQL, 包括頁面清空行爲和減少寫入磁盤至 可延長壽命。

這些對於Twitter規模的網站來說很重要。如果你正在構建一些必須擴展到這種規模的東西 - 是的,那些改變會有所幫助。但是,如果你正在建造更像世界上其他所有流行的網站,你可能不需要關心他們的變化。大多數運行MySQL的大型網站都直接從發行版運行它。

+0

是的我明白這是一個非常自定義的構建,不會在任何地方使用。但我只是想了解他們做了什麼不同。 – 2012-04-12 12:59:30