※ 引述《yungyuc (酷狗喵千代)》之銘言:
: ※ 引述《zanyking (遙遠的旅人)》之銘言:
: : 應該說,Bigtable的核心部份已經是使用MapReduce實做出來的東西。
: : 而從Bigtable所提供出來給Client 呼叫的API上頭,是不會認知到有
: : MapReduce這回事的。這也很合理。
: : 我認為先不去考慮Map Reduce的直接支援,單純就App Engine所提供的
: : Python執行環境,也許已經是一個以Map Reduce或是其他分散式處理技
: : 巧所構造出來的VM。只要User在寫Code的時候沒有宣告Glob Var,那
: : App平行處理的能力應該就已經很好了。
: HPC 有兩種:parallel processing 和 high throughput computing
: 對 web app 來說 parallel processing 不大重要,因為沒有哪個 single request
: 會跑超過幾分鐘吧
: appengine 的訴求是 scalability,這基本上是 high throughput 問題:
: 如何為成千上百萬個 request 提供共通的執行環境,並且容錯
: 目前 appengine 完全沒有 offline 處理的能力,也就是說
: 它專門在解決 http-based request/response
: parallel processing 不是它要解的問題
: 至於傳統 HPC 處理的 parallel processing,不但 appengine 不解決
: mapreduce 也不處理;
: 就 gdd08tw 所聽到的內容,在 mapreduce 裡的每個 node 彼此間不能交換資料
: 單這點就是個死穴了
MapReduce 是 functional programming 思想的程式架構
以此為基礎的程式碼沒有 side effect, 自然免去半途交換資料的需求
no side effect 也是 MR 的主要優點
資料重組層次的"交換"則是事前演算法設計該考量的
所以那不是死穴~ 程序思想不同而已
parallel processing 正是 MR 發揮的地方, 個人認為
BTW, 現在好像還找不太到實做完善的 python mapreduce 套件?
找到都是 Hadoop for python
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.189.125