読者です 読者をやめる 読者になる 読者になる

地に身を潜め続けていた昨年と違い、今年はガンガン外に出ていきたいと思います。
第一弾として、最近興味のあるMongodb勉強会に参加してきました。
ちょうど運営の手伝いを募集していたので、調子に乗って運営のお手伝いもしてきました。

(追記:Togetter秀逸なまとめがあります。@ixixiさん、GJです!)

Sharding詳解

mongodbのスケーリングの話でした。
これをもとにした話のようでしたが、会場設営と受付で前半を聞き逃したので、ついていく事ができませんでした><
キーワード
・shard
・sharding key
・chunk
・Auto-Failover
・Auto-Balancing
・Migration
・mongos
・configサーバー
・re-reduce
Migrationには多大なコストがかかるから、できるだけMigrationが発生しないように、うまくSharding keyを選びましょう!

同時書き込み発生時の挙動の話など、なかなか興味深かったですが、理解が追いつきませんでした。
頑張って理解できるように復習します。

Type-safe MongoDB with Scala

勝間コミュニティの実装の裏側のお話でした。
静的型付けの魅力について分かりやすい(トイレの例)で語っていただきつつ、スキーマレスであることが優位なmonogdbでどのように使うか、という話でした。
RDBMSほど厳密ではなく、KVSほどライトでもないmongodbの存在意義を改めて考えさせられるお話でした。
実装のScala周りの話も面白かったですが、こちらも理解が追いつかず><

キーワード(というよりポイント)

  • 静的型付けの魅力は変なことが起きないこと
  • MongoDBをモデルクラスの永続化と割り切って使う
  • 実装は、Scala+Lift(Scalaフレームワーク)+Rougue(Foursquare製のLift用クエリ生成DSL)
  • Rougueを使うことでJSON,BSON経由のデータ受け渡しでも静的型付けの利点を保てる
  • Embedを多くするか、サブコレクションを作るかの設計
  • プロパティ追加などに柔軟に対応できるのがMongoDBの強み

アクセスログをできるだけいろいろ見る時のmapreduce + ニフティクラウドでの構築とパフォーマンスを初心者からわかりやすく

スライドです。
某社サービスのログ解析についてのMongodb Mapreduceを利用したお話でした。
まだMapReduceについての理解が浅いのですが、分かりやすく実例なので楽しく聞けました。
MongoDBにはMapReduceの機能が組み込まれてるんですね。知らなかった・・・

ポイントとキーワード

  • Mongo Mapreduce
  • まずMongoDBで試してみて、よさそうならHadoopに落とし込んでいく。
  • mongoimport
  • ログ解析データ用に付加しておくといいもの
    • timestamp
    • hostname
    • pathnameIP
    • referrer
    • UserAgent
    • Session

[LT]:地理空間インデックスを利用したWebアプリケーション

スライドです。
アクシデントあり、笑いあり、デモあり、で非常に楽しい発表でした。
地理情報系は興味があったのでかなり勉強になりました。
というか、ここまで話を聞いた段階でほんとにMongoDBはなんでもありだな、と。

Tachy with MongoDB

Cyber AgentさんはMongoDBを積極的に取り入れているらしく、その一環で、現在プレリリース中のサービスの裏側の話でした。
これもなかなか興味深かった!

DBにMongoDBを選択する理由としては、分散処理をDBでやってくれる、データアクセスが高速(と言われている)、自動でfailover、etc...があるようです。

キーワード

  • Morphia(Java用O/Rマッパー)
  • Bulk insert
  • mongostat
  • RDBのノウハウが流用できる

懇親会

相互USTで他の勉強会の懇親会の中継が流れながら、というなかなかカオスな感じで素晴らしかったです。
テンション高かったので、けっこう記憶はまちまちですが・・・

  • @doryokujinさんとデータマイニングエンジニアの今後の重要性について熱く語り合う
  • さくさくテキストマイニングの方々に出くわし盛り上がる
  • 某銀行のあの事件の裏側
  • クリティカルなシステムにMongodbをいかに投入するか(ID重複しちゃいますけど><)
  • NoSQLの台頭によるRDBMSベンダーの行く末
  • Redisいいよね!
  • F#もいいよね!

Mongodbは何でも突っ込めてたのしーなー、くらいでしか使っていませんでしたが、実サービスでも使われていたり、なんだか熱い気がします。
素敵な会を主催してくれた@doryokujinさん、素敵な会場を提供してくれた@understeerさんを始めとするフィーチャーアーキテクトの皆さん、ありがとうございました。
第3回以降も参加していきたいですね。