Hatena::ブログ(Diary)

スティルハウスの書庫 このページをアンテナに追加 RSSフィード

2010-04-25

#appengine で skiplist ってすごくね?

@koherさんのエントリ「Google App Engineでランキングやページングを実現する」はすごいです。。

どうすごいのかは、時間があるときに改めてエントリを書きますが(もう寝なきゃ〜)、とりあえずはこの件で@kibayosさんからいただいた貴重な情報群のまとめです:

結論から言うと、

私のつぶやきに対する@kibayosさんのお返事:

はい。RT @kazunori_279: まとめ: #appengine 含むNoSQL/KVSのエントリ間でskiplistを作れば、任意ソート条件でランク、カウント、指定範囲の最大/最小/中央/平均/合計値、 pagingをO(log n)で実装できる... 理解合ってますか?

私のつぶやき:

確かに更新コストは高いけど(INSERTがんばれ系)、私としては、#appengine で正確なgroup byクエリをO(log n)で実装できちゃう点に感動するなぁ。。夢に見たcount(*)が! avg(*)が!

4/26追記

そろそろ寝ようかな〜と思ってたら@koherさんのつぶやきが始まって、@kibayosさんと3人で濃すぎる深夜のつぶやき大会になってしましました^^;; お題は「skiplistとB-Treeはどう違うのか?」「B-Treeでよいなら、既存DBのインデックスとどこが違うのか?」です。

あわせて読みたい:Indexable B-treeを作る

appengine ja night #7が終わりました〜

appengine ja night #7が終わりました! 今回は「shin1ogawaじゃナイト!」と勝手に名づけさせていただいて、shin1ogawaさんによるセッションとQ&A大会という内容。また今回は、bufferingsさんはじめ京都GTUGの皆様のご協力により、京都のサテライト会場とskypeでつないで質疑応答にもトライしました。

<セッション1>
発表者:@shin1ogawaさん
テーマ:「appengineアプリケーションの自動テスト -最新java sdk版-」
参考URL:404 shin1のつぶやき ないわー Not Found
内容:appengineアプリケーションも、通常のアプリケーションのようにCIできます。その具体的な手順を、実際にアプリケーションを作りながら紹介します。

<セッション2>
発表者:@shin1ogawaさん、@higayasuoさん、@kazunori_279ほか
テーマ:「appengine QA大会」
参考URL:Google Modelator質問投票ページ
内容:appengineのココが聞きたい!という質問を、このGoogle Modelatorページにて事前に受け付けます。当日は会場で各質問について分かる人に回答してもらったり皆で考えたりしましょう。ここから次のajnネタやよく出る質問を集めたりして実践的なFAQを作ったりできるといいなあと考えています。

今回のustビデオ記録の一覧です。

今回の見所はやはりshin1さんのライブコーディングによるTDD実演でしたね。tagomorisさんの感想に同意です:

テストの準備としてアプリケーションをライブコーディングしてるときの @shin1ogawa さんのEclipse操りっぷりに皆の注目が集まってた。すごかった。ああいうのを見るとPythonだろうがなんだろうがEclipseで書くのもありか、とちょっと考えてしまう。

セッションの主題はApp EngineにおけるTDD手法でしたが、Eclipseをフルに使いこなせば、Javaでもここまで少ない作業量で、かつタイプセーフでリファクタリングできまくりなコードをサクサク書けるのだよ〜という見事な実演になっていたと思います。

それと、shin1さんひがさん両者とも、「App Engineでは従来のWebアプリに比べて3倍はテストがラク!」と強調されていたのが印象的です。もともとApp EngineのJava環境はEclipse上に必要なすべての材料が揃っており、開発環境構築の面でも(そしてもちろん運用環境構築も)とてもラクですが、TDDという意味でもその生産性の高さを再認識しました。

Q&Aは、ネタもまだまだ残っているし、なかなか盛り上がるし、また引き続きやりたいですね〜。ust見ていただいた方からのtwitterでのつっこみも楽しいディスカッションでした。Beer Talkの方も、萩原さんwhosaysniさん、knj77さん、funyamoraさんの4名に発表いただきました。とにかくどの発表も濃い内容やがっつりした実案件での事例で、App Engineが世の中に着実に根を下ろしつつあることを実感させられました。。(しかし時間が全然足りませんでしたね。。大いに反省しております。funyamoraさん申し訳ありませんでした!)

皆さんのまとめ

皆さんまとめあざっす!

その他反省など

  • やっぱりBeerTalkの時間予測があまあまでした!ご迷惑をおかけしまして申し訳ありません。次回は1回15分、3回まで、という感じかな。
  • ビールも足りなかった!次回は1ケース増やします。あとウェットティッシュも持ってきますね。
  • グリー一井さんに入退場のケアで頼りっぱなしになってしまいました。。
  • ustちゃんと最初から撮るの忘れた!(やっぱり)
  • Skypeでサテライトは思いの外うまくいった! もっと質疑応答等でやりとりしたかったですね。
  • 今回の収支:75000円(1500円×50人) - 65468円 - 2915円(前回繰り越し) = 6617円(今回繰り越し)

shin1さん、bufferingsさん、そして会場でいろいろお手伝いいただいた皆様、ありがとうございました。そしていつもいつも会場をお貸しいただき、細かな運営でフォローいただいているグリーの一井さんに感謝感謝です!

次回は5月に、@najeiraさんの事例紹介と私のGoogle I/O報告をやりたいです。