作者twck (twck)
看板i-enterprise
標題Re: [情報] 關於Google App Engine快速入門課程
時間Sat Dec 12 11:32:56 2009
為了平衡報導,我也來說一下Google App Engine的缺點。XD
對我來說,GAE有幾項致命的缺點,之前網友的討論裡似乎沒講到。
先說一下GAE用的非關聯性資料庫,以下圖片是盜用Ericsk上官林傑在COSCUP的簡報:
http://farm3.static.flickr.com/2630/4177320925_9af5b354df_o.jpg
一張圖片就可以清楚明白關聯跟非關聯資料庫的差別。
過去用關聯性資料庫久了,我一遇到GAE的非關聯資料庫時,一開始竟然搞不懂!
後來發現Google一開始用非關聯資料庫是有道理的,也拉開跟對手的競爭差距。
犧牲了資料庫的體積(反正硬碟很便宜嘛),換來存取速度跟擴展規格的方便性。
所以對我來說,非關聯資料庫反而是優點,用順手之後非常方便。
Ericsk上官林傑演講影片在:
http://www.youtube.com/watch?v=tUZKta19TnY
再來盜用一張:
http://www.flickr.com/photos/kevin814/3587610731/sizes/o/
CPU Time使用時間超過,除了改善程式碼之外,花點小錢就可以解決,也不是大問題。
http://farm5.static.flickr.com/4011/4177338277_7b4c7eea49_o.jpg
以上圖片是我GAE設定付費的畫面,每項都可以自訂預算。
沒超過就不用付錢,用多少付多少,很合理。
(我雖然啟動付費機制,但是還沒付到錢,顯然網站不夠熱門XD)
可以看到CPU使用時間是以美金1角為單位,花個1.6元美金預算就有很多可以用。
那真正致命的缺點是什麼?
變數不能超過1MB!
一般變數傳遞很少會超過1MB,但是過去當我在果子咖啡萬樓噗聚活動時,
想用GAE擷取那個在噗浪的萬則留言,再用jQuery計算幾層樓,回應至Blogger網站時,
前幾小時都正常,但過沒多久就擷取的頁面就超過1MB爆掉了。
只好另找其他空間擺我的Python程式碼。
這個花錢也無法解除限制。
除了CPU Time限制,我發現其實還是有個CPU(API)使用率限制,如下圖:
http://farm3.static.flickr.com/2661/4177360627_ec511f4d6d_o.jpg
這是我幫BillyPan統計縣市長選舉搜尋筆數,總共54個候選人,16種搜尋條件,
所以一下子就要去作864次查詢、擷取關鍵字、存入資料庫。
雖然我已經拆成11個cron分別去跑,但是可以看到一小時內跑第二輪就會爆掉。
在CPU Time還很少時,這個CPU(API)已經紛紛爆掉了。
這個也是用錢買不到的。
要等一小時過後才會恢復正常。
所以GAE的限制也不少啊,不過這跟租用其它虛擬主機同樣會有CPU使用率的問題,
但是GAE有詳細的數據給你看,讓你有機會調整。
很多虛擬主機業者並沒提供這種詳細數據,爆掉就網站停掉,EMAIL要你快交錢。
即使如此,Google還是很積極改善GAE,版本更新非常快速。
例如之前抓網頁不能設Referer,這樣像無名正妹相簿就沒辦法抓,
後來新版本就提供Referer了!
之前也沒提供主機收信功能,都是突然冒出一個新版本,突然提供新功能。
跟Google其它熱門產品很相像。
所以我相信GAE的功能或是可以使用的工具會愈來愈齊全,
讓網站開發者可以專注創意的發想,用最快的方式達成目的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.173.119
噓 achii:基本功不扎實 不會tuning 所以只能多花錢解決問題 科科 12/12 12:08
→ twck:achii大大說的是,我基本功實在太爛了!要多K點書才行。 12/12 12:13
推 HatasonJa:其實google就是要人人都會寫網路濫程式然後產生一堆 12/13 06:42
→ HatasonJa:網路垃圾...資訊垃圾越多越好... 12/13 06:43
推 eromoot:其實是可以做關聯的,如果仔細看 db.Model 是有告訴你怎 12/14 18:02
→ eromoot:樣做關聯! 12/14 18:03