| 1 | = 2012-07-25 = |
| 2 | |
| 3 | == HDFS vs Local FS == |
| 4 | |
| 5 | {{{ |
| 6 | #!text |
| 7 | 如圖,您把檔案放在 Local File System , |
| 8 | 才有辦法讓跑在 hadoop.nchc.org.tw 的 Apache 去讀取該檔案, |
| 9 | 然後運用 Apache 的 PHP 模組解析該 PHP 檔案,然後去執行。 |
| 10 | |
| 11 | Local File System 會遇到一個問題,當如圖有8個人, |
| 12 | 他們分別要 A, B, C, D 四個檔案,每個檔案都要 600MB, |
| 13 | 此時,因為硬碟 SATA 排線只有一條,頻寬理論值雖然有 100Mbps, |
| 14 | 但是通常同時隨機存取會降到 40Mbps (有人同時搶檔案的速度),縱使對外的頻寬有 1000Mbps |
| 15 | 每個人仍舊只能分到 40Mbps / 8 = 5 Mbps 的下載速度。 |
| 16 | |
| 17 | HDFS 則不同,因為如圖有六台組成,有六條 SATA 排線,總頻寬是 600 Mbps, |
| 18 | 而且 A, B, C, D 會均勻分散在其中,而且因為有副本,所以會個存在兩份。 |
| 19 | 此時,當有8個人同時要這四個檔案,則 A 可以從不同的兩台機器取得, |
| 20 | 所以速度可以是 60Mbps (沒人搶檔案的讀取速度), |
| 21 | 同理 B, C, D 也一樣可以有相同的硬碟讀取速度。 |
| 22 | 同一時間,8個檔案可以從硬碟用平均 60Mbps 傳出網路, |
| 23 | 所以每個用戶如果下載頻寬夠的話(假設是每個用戶的下載頻寬是 12Mbps) |
| 24 | 那每個人都會很滿意那個 12Mbps 速度。 |
| 25 | 如果這八個用戶都有 100Mbps 的下載頻寬,那每個人都可以有 60Mbps 的下載速度。 |
| 26 | 客戶就會很滿意~ |
| 27 | }}} |