appengine ja night #5に行ってきた

またまたいってきました。
appengine ja night #5 : ATND
今日は、なんと、Slim3 Datastoreの翻訳をされた@bufferingsさんが京都から高級ビールを飲みにやってきました。BeerTalkではTwitterの情報を収集してまとめて読むアプリを作ったときのモデリングの話を聞かせてもらいました。途中、Twitterのアカウント名をKeyにしてるという話をしてたら、アカウント名は後で変えられるよというツッコミがあって、あたふたしてる天然さんでした。

また、今日はひがさんがグローバルトランザクションの話があった。2フェーズコミットの復習からはいり、Slim3のGlobalTransaction、Jurnal、Lockあたりの説明をコードを追いながら説明となかなか充実した内容。しかし、時間が足りないので最後は飛ばしぎみ。また、次回ajnで続きが聞けるのか。もう一度ソースを読んでおくといいかもね。

あと、JRubyでGAEの話も聞いた。GAEのJRubyって遅いってイメージ(勝手な)があったんだけど、そんなでもないっぽい。嘘か本とかPythonよりも速いこともあるような、ないようなw でも一回どっかで触りたいな、と。

最後は、あおうささんのSchemaVersionの話。#4のときように作った資料ということだったらしく自問自答しつつの発表でおもしろかったw。RDBとApp Engineではカラム(プロパティ)を追加したときの動作が微妙に違う。RDBではadd culumnしたらすべてのレコードにnullが入るけど、App Engineではnullも入らないでmissingとなる。まさに何にも存在しない。nullさえ。だから、is nullでデータを持ってきて値を入れていく、見たいな処理が行えない。だから、SchemaVersionというプロパティを最初から用意しておいて、ある時点からプロパティの情報が更新されたらバージョンをあげていき、そのバージョンをもとにデータを取得するという手順が必要になる。
まぁ、とにかく、SchemaVersionは最初から作っとけって話。

いや、今回もおもしろかった。次も楽しみだ。と無理やりしめる。