System Design - 4 : Distributed File System

用多台機器解決一台機器解決不了的問題

EX: QPS太大,DB儲存不夠了


Google: 多台機器組成分散式系統

Sun: 超級機器來解決這問題 --> Google 獲勝


Google 三劍客:

  1. GFS : 文件儲存系統
  2. Map-Reduce : 加速資料處理
  3. BigTable : NoSQL資料庫,用來溝通應用層和文件系統

文件系統 4S 分析

Scenario:

  • Requirements:

  • 讀、寫的功能

  • 大小 : 愈大愈好

  • 可以多台機器組成的架構 (google 目前已有幾百萬台)

Service:

  • Client + Server 的服務

    => 該選擇哪一種的模式?

    1. 分散式 :

      pros: no single-point-failure

      cons: not consistent (bitcoin has)

  1. master-slave:

    pros: easy, consistent

    cons: single-point-failure

就文件系統而言,用 master-slave 的好處大於分散式儲存,為就算有 single-point-failure,也可以重啟服務器,有一點點的資料流失是可以接受的。


觀念澄清:

DB 是一個應用程式,建立在儲存系統上,儲存系統可以是文件系統或是DISK。

像是 HBase(NoSQL) 是建立在 GFS上。


results matching ""

    No results matching ""