程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Twitter將開源其使用的MySQL

Twitter將開源其使用的MySQL

編輯:MySQL綜合教程

MySQL是被廣泛使用的一個數據庫,但是Web開發人員會在大規模訪問時的數據庫擴展以及性能方面遇到問題。這也是近年來NoSQL 數據庫開始出現並逐漸繁榮的一個原因。對於關注 MySQL 可擴展性的 DBA 人員來說,當然非常希望看到像Twitter這樣的網站是怎樣運用和優化MySQL的。

Jeremy Cole和Davi Arnaut 是Twitter DBA和DB開發組的成員,他們表示,大部分Twitter 數據都采用了MySQL作為持久化存儲,包括發表的 Tweets、興趣圖、時間線,以及用戶數據。由於Twitter的數據規模和訪問規模, 他們不得不對MySQL源碼進行修改優化以適應這種級別的應用。為了回饋社區,他們決定在 BSD 許可證下開源他們對 MySQL 所做的貢獻。項目托管在 GitHub,主要的修改包括:

增加狀態變量,特別是在 InnoDB 引擎內。這樣能更有效地監控系統負載和運行狀態。

在非一致性內存訪問系統中優化內存分配。在初始化時就分配 InnoDB 的緩存池,如果內存不足則可迅速獲得錯誤報告,這樣在服務器面臨內存壓力時也能保證性能穩定。
減少查詢超時中一些不必要的操作。這樣服務器可以在毫秒級別主動取消耗時過長的查詢。

以一種輕量的方式導入導出InnoDB的緩存池。這樣可以讓我們以最小的代價執行回滾。

針對 SSD 固態硬盤進行優化,包括page-flushing 以及減少寫操作以改善SSD硬盤壽命。

另外在4月12日,Twitter還將對Gizzard, 一個MySQL的分片復制框架進行詳細介紹。如果有任何問題,都可以在GitHub上向他們提 issue。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved