作者vpoohtw (悠闲的 Alpha)
看板Python
标题Re: [闲聊] Google App Engine 释出
时间Thu Jun 19 04:18:27 2008
※ 引述《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