因為最近需要一些巨型網站的架構來參考,所以做了初步地調查。資料庫沒有意外的 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。
熱門文章
-
相信大家有時等待測試、shell script 完成任務需要很長的時間,因此希望任務完成可以即時收到通知。在 Mac 上有 Growl 可以滿足這個需求,但 Growl 是收費軟體。所以我採用 terminal-notifier 工具發送 OS X 的通知 ( Notific...
-
這篇文章要介紹如何使用 WhiteNoise 來處理 Django 的靜態文件,為什麼需要特別方式來處理呢?因為,在開發模式下 (Debug 模式開啟),Django 會有一套預設的機制來替你處理靜態文件。然而,在正式環境下 Django 則強烈建議使用其他的方式來 Serve...
-
Gitlab 為了讓使用者部署程式更方便,它提供了一個功能叫 Deploy Keys,使用者將 SSH Public Key 加入,之後不需要密碼就可以獲得程式庫 read-only 的權限,所以很適合運用在 CI 中。通常在 Unix-like 環境中將對應的 Key 與其使用...
-
Launchd 是設計用來管理系統中的 Process、Application 及 Script,它包含了與 Cron 相同的服務。本文章將要介紹如何透過 Launchd 管理並執行例行性任務於 Mac OS X 上。( 其他 Mac 相關教學可以參考 本篇整理 。If you...
-
為了方便其他人參考 Mac 相關教學、資源與使用技巧,因此將發表過的文章整理詳細列出。之後仍然會發表其他有關 Mac 的文章,同時也會更新此篇內容。
