因為最近需要一些巨型網站的架構來參考,所以做了初步地調查。資料庫沒有意外的 MySQL 依舊是 Open Source 資料庫的第一名。
其中 YouTube 也是使用 MySQL 這讓我頗為驚訝與帶有些許的懷疑,在 Youtube 資料量龐大的規模情況下想必其架構一定並非如此簡單。首先,經過網路上的資料整理 ( 不少為早期的資料 ),大概可以分類為 MySQL 裡面放的為 Metadata ( 應該為影片的描述、標籤等資料 ),Google's BigTable 存放 Thumbnail。
針對 YouTube 使用 MySQL 部分,整理資料時在 Github ( 或 Google Project ) 上面發現 YouTube 團隊針對 MySQL 開發了優化 MySQL 效能的工具 Vitess ,GitHub 頁面上也描述 Vitess 為目前 YouTube MySQL 架構下使用中的基礎元件。可以確認的是 YouTube 仍然正在使用 MySQL,但也代表了 MySQL 應用於巨型網站下仍有不足之處。Vitess 介紹如下:
不過值得注意的是,在瀏覽 Vitess 的頁面時發現了一個重點,發現 Vitess 團隊目前正積極開發相容 MariaDB 的版本 !!! MariaDB 目前正逐漸地取代原本 MySQL 的地位,根據 YouTube 團隊開發 Vitess 相容 MariaDB 的動作,可以想像 YouTube 不久之後會轉為使用 MariaDB 取代 MySQL。以上為初步地調查結果給大家參考,喜愛 MySQL 的開發者或許可以開始使用 MariaDB。
熱門文章
-
Launchd 是設計用來管理系統中的 Process、Application 及 Script,它包含了與 Cron 相同的服務。本文章將要介紹如何透過 Launchd 管理並執行例行性任務於 Mac OS X 上。( 其他 Mac 相關教學可以參考 本篇整理 。If you...
-
之前的文章主要探討的都是一個訊息由一個 Consumer 處理,但若我們需要的是一個訊息同時傳送至所有的 Consumer 的話,我們則需要應用 Publish 與 Subscribe 模式,本篇將討論如何使用這個模式。( 其他 RabbitMQ 相關教學可以參考 本篇整理 )...
-
Web Service 目前已經被廣泛應用,在這邊試著解說如何以 Eclipse 來快速、簡單的建立與測試,這次範例以提供產生樂透號碼,本篇我們先建立服務提供端。( 另外,Web Service Client 端建立教學,請參考 本篇 )
-
Jekyll 是一個很方便的網站、部落格產生器,它的功能夠簡潔就是專注在產生一個靜態網站。但也因為這樣,有一些需要動態產生的東西無法透過 Jekyll 直接實現。例如:每當使用者進入頁面,讓網頁產生隨機文章連結。所以,本篇將介紹如何利用 Jekyll 實現隨機文章的功能。( If...
-
開發 React 應用程式時,比較常遇到的問題就是 bundle.js 或其他檔案太大,導致頁面載入時間過長。但透過 Webpack 與一些優化技巧可以大幅減少整個應用程式大小。因此,本篇將介紹如何利用 Webpack 減少 React 應用程式大小。( If you want ...
