2009年6月27日土曜日

BPStudy#22に参加して来た

GAE/Jってどう使う?

スティルハウス佐藤一憲氏。佐藤一憲氏といえば、"Google App Engineのtips集"のエントリでの秀逸なまとめがありますね、ありがたいです。

JavaVMはServerVMじゃなくてHotspot ClientVM
これは今まで意識した事が無かった。ヒープのチューニングとかもあまり関係無さそうだし(できない)、あんまり意識する必要は無いかな…?と思ってる。
セッションは勝手には消えないので自分で掃除しなきゃダメ
Frameworkを使えばそっちがやってくれるはずだと思うけど、手動でやる場合は当然そぅなりますねぇ。気をつけなきゃならん。
JVM的なGlobalはダメ
使わないからこれもまた意識した事は無いけれど、ノードが違ったらダメだとの事。確かにそりゃそぅだ。ノードが同じでも、アプリが終了させられてしまぅ場合もありそぅだし。Session、Memcache、Datastore等をうまく使い分けなきゃなりませんね。
GAEのスケールアウト。50分くらい高負荷が続くとスケールされる、とかの話がどこかにあった。→実際はそれよりももっと早くスケールされてる気がするね、等等。
ここはGoogle様任せの話だけれど、ある程度の仕組みは出して欲しいトコですねぇ。たぶん皆もそぅ思っているだろぅし。
bigtableの履歴に関してはAppengineは使えない
GFSの仕組み的に全てのデータに対する履歴が絶対にあるはずで、そいつらをなんとか利用できないのか?という点がずっと気になってたけど、やっぱそーなんだなー、とあきらめがついた。
インデックスの話
これらはDatastoreの最も特徴的なところだから、特に新しい話は無かったが、説明するときの用語としてとても勉強になった。
プロパティが無い、値がnullは区別される
これはあんまり意識してなかったし、試した事も無い。実際はスキーマの拡張が行われた時にしか発生しないように思うが、Low-Level APIを使った場合は「ひとつのKindが同じプロパティ構成とは限らない(必要なPropertyだけに最適化されたRecordでKindを構成する)」という状態でスキーマを構成できる(むしろこれこそスキーマレス?)ので、それを実際に試してみよぅと思う。やっぱ無理にJDOとか使うよりLow-Level APIの方が使い勝手よいよね?というのが自分的な結論だったりするし。
アプリ全体でのACIDを行う為の実装はある
知らなかったけど、あんまりやってはいけない事だと思うし、設計や実行時のパフォーマンスに無理が出て後悔するだろぅからこの話は見なかった事にしよぅかと…。…。たぶん逃げ道としては便利なんだろけどね…。

自分としては、GAE/JのDatastoreを誰かに説明する時の説明方法を勉強できた、といぅ感想。

資料へのリンクがはてなダイアリーにあるよぅです。また、今回と同じ資料をベースにしたセミナーが7/17 18:30-20:30に開催されるようです。今回は時間の問題ではしょられた内容等の説明もあるだろぅと思われます。

scala/lift on GAE/J

yuroyoro氏。開催時間になっても登場しないとか大物すぎる。

SeasarConでの資料を拝見済みだったので内容はだいたい把握していたが、Scalaに関する理解とLiftに関する理解は深まったと思う。やっぱ資料だけ見るのと発表を聞くのは全然違うね。

自分としてLiftの"Html内のイベントとScalaの関数のバインド"が滅茶苦茶興味を持ったので、実際にGAE/J上で動かす事になるだろうと思う。コンテキストの保持を意識せず、こういった処理を行うって…これWicketやん?Scalaのパワーを持ったWicketやん!…といぅ風に見えたから。これは良い。jQueryとの親和性も高そうで、View層のコンポーネントも充実してそぅだし、もぅWicketにしか見えない。$ mvn archetype:generateして$ mvn jetty:runしたらいきなり動作するとか、やっぱりあなたはWicketなんでしょぅ?View層はWicketの方が美しそうにも感じたが、発表ではあまり深くは触れられていなかったのでよくわからない。でもたぶんWicket。まぁ、そんな感じに壮大に勘違いしてるんだけど、大変気になるものが増える事となった…。

メモ:Liftは1.1-SNAPSHOT(GAE対応版)、Scalaは2.7.5を使えばいいそぅだ。

追記

yuroyoro氏の資料もアップロードされたようです。

スタッフの方々、スピーカーの方々、皆様ありがとぅございました!

なお次回のBPStudy#23は7/31(金)19:00-21:30、"edeg2.ccクラウドコンピューティング研究プロジェクト"といぅ事だそうです。自分も仕事と調整がつけば参加したいと思います。

コメントを投稿