天天看點

Facebook 使用者量十分龐大,為什麼還使用 MySQL 資料庫?

作者:麥聰軟體

Facebook是一個擁有超30億使用者的網際網路公司,擁有海量資料,而且增長很快,單機資料庫完全無法滿足這種需求。

這時需要對資料進行分片,存儲到多個資料庫節點中,這個時候如果使用IOE作為其中一個節點,肯定可以保證很好的性能,但是成本就非常非常非常高了,要知道,Facebook的資料庫伺服器有成千上萬台。。。

這個社交網絡巨頭在使用添加了大量修改和附件的MySQL資料庫,為每天數量龐大的資料傳輸和資料存儲提供友善。

你不能指望一家年收入數十億美元的公司将MySQL直接拿來使用!它對IO子系統作了一些變動,包括下列新特性:

innodb_read_io_threads,innodb_write_io_threads——這設定了背景IO線程的數量。

innodb_io_capacity——這設定了每台伺服器的IO容量,以确定背景IO限制。

innodb_max_merged_io——這一個設定了毗鄰IO請求的最大數量。通常,下一批IO請求會在稍後合并成大得多的IO請求。

MySQL資料庫的特點:

1.可擴充性

Facebook需要支援海量使用者生成的海量資料,而MySQL能夠很好地擴充以處理這些資料,通過分片技術(将資料分散到多個伺服器上)來實作。

2.成本效益

MySQL是一個免費開源軟體,并且與商業資料庫相比成本更低,這可以幫助Facebook降低存儲和管理資料的成本。

3.簡單易用

MySQL提供了強大的SQL查詢語言,容易使用和學習,這使得開發者能夠更快地開發和管理應用程式。

4.可靠性

MySQL是一個經過測試和驗證的資料庫管理系統,并且由于其廣泛使用,它已經被證明是一個穩定、可靠的選擇。

5.社群支援

MySQL有一個龐大的社群,包括開發者、使用者和貢獻者。這個社群可以提供支援、文檔和解決方案,幫助Facebook更好地使用MySQL。

Facebook 使用者量十分龐大,為什麼還使用 MySQL 資料庫?

另外,MySQL 的可靠性,速度以及它适應性強而受人歡迎。提供用于管理、檢查、優化資料庫操作的管理工具 用其來管理内容無疑是很好的選擇,而且 MySQL 資料庫系統使用最常用的為資料庫管理語言--結構化查詢語言(SQL)進行資料庫管理。

不僅如此,MySQL 其自身的特點也是它的加分項。它支援AIX、FreeBSD、Windows等多種作業系統。不僅能夠作為一個單獨的應用程式應用在用戶端伺服器網絡環境中,還能夠作為一個庫而嵌入到其他的軟體中提供多語言支援。

優勢

對于擁有海量資料的Facebook網際網路公司,MySQL的優勢就顯示出來了:

  • 省去了巨額license費用;
  • MySQL代碼開源,可以根據業務特點定制和優化;
  • 将MySQL運作在普通PC上,硬體費用大大降低。

雖然Facebook也使用其他資料庫,如Cassandra、HBase、MongoDB等,但MySQL作為一種經過時間檢驗的成熟解決方案,仍然是Facebook的一個關鍵選擇。

如果我是臉書的架構師,基本上前期也會采用Mysql的!

SQL Studio

不論選擇什麼資料庫,這款免費SQL工具都支援,那就是SQLStudio。

Facebook 使用者量十分龐大,為什麼還使用 MySQL 資料庫?

SQL Studio是一款可建立多個連接配接的Web版資料庫管理開發工具,讓你從單一應用程式可同時連接配接Oracle、PostgreSQL、MySQL、SQLite、SQL Server、Oracle、DM(達夢)、KingBase(人大金倉)、MongoDB、Impala等資料庫。

Facebook 使用者量十分龐大,為什麼還使用 MySQL 資料庫?

不嫖白不嫖,趕緊去試試吧,更多功能更多亮點等待你去探索發現!

繼續閱讀