因為最近需要一些巨型網站的架構來參考,所以做了初步地調查。資料庫沒有意外的 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 相關教學可以參考 本篇整理 )...
-
相信大家有時等待測試、shell script 完成任務需要很長的時間,因此希望任務完成可以即時收到通知。在 Mac 上有 Growl 可以滿足這個需求,但 Growl 是收費軟體。所以我採用 terminal-notifier 工具發送 OS X 的通知 ( Notific...
-
Fake S3 是一個由 Ruby 開發並設計成模擬 S3 服務的軟體,所以你可以透過不同的 SDK (例如:boto3) 去測試 S3 的 API。本篇將介紹如何設定及使用 Fake S3 (docker 版本)。( 其他 AWS 相關教學可以參考 本篇整理 。If you ...
-
Jekyll 是一個很方便的網站、部落格產生器,它的功能夠簡潔就是專注在產生一個靜態網站。但也因為這樣,有一些需要動態產生的東西無法透過 Jekyll 直接實現。例如:每當使用者進入頁面,讓網頁產生隨機文章連結。所以,本篇將介紹如何利用 Jekyll 實現隨機文章的功能。( If...
