目次
今回は、触ろうと思って触れていないMongoDBの勉強会に行って来ました。 2週連続の渋谷で、さすがに今回は出口をすんなりでれました。 今回は初のGMOさんのビルへの潜入です。 ということで、いつものごとく自分のメモを残しておきます。
日時 :2011/11/15 14:30 to 20:00 定員 :140 人 会場 :GMO Yours (セルリアンタワー(11階)) ハッシュタグ :#mongotokyo
1.fluentd plugins for MongoDB @doryokujin スライドはこちら。
FluentとMongoDBのコラボレーション
・Fluentとは?
解析対象のログについて。データ量が膨大
これまでのログの扱い方。日次でS3に送信して、ログ解析サーバにて前日分を解析する。
これではリアルタイム性がないのが問題!しかも1日分なので、データ量が半端ない。
そこでFluentにてストリーミングアプローチ。
リレーサーバ(Fluentd)にログを流すと、適宜、解析サーバに流れていく仕組みが可能。
これにより、ネットワークに負荷をあまりかけずにログを定期的(時次とか)で流せる。
※splunkに近い考えかな。
ここで、Fluentのスライドで説明が入りました。http://www.scribd.com/doc/70897187/Fluent-event-collector-update
・Out Mongo For Local Back-Up
MongoDBへの出力。
信頼性をあげるためにローカルにmongoDBを置いておき、スプールしておく。
リレーサーバにも配置してみるという仕組み。
バッファリングにMongoDBを使うので
Aggregation Mongoってのを作ったらしい。そのせいで、スライドの作成が遅れたらしいw
・Aggregation Mongo
Map/Reduceの集約のようなプラグイン。
fluentdのアプリを通して、特定のキーをベースに集計してから、outputする仕組み。
更に、キーに対してshufleが行われて、次のfluentdにデータが集まる。
fluentdを使ってM/Rっぽいことが可能なのかな。
QA
最終的な流れ込み先のMongoDBはCappedCollectionじゃなくしたほうがいい。検索とかしたくなるから。
2.about Server Density and MongoDB @davidmytton スライドはこちら
Queuingシステムで利用。
MongoDBとRabbitMQとの比較?
MongoDB関連のノウハウかな。
データ量に関する話。メモリに載せたほうがいいのかとか、ログ出力の設定とか、ジャーナルとか。
HDDの見積もりに関連しそう。
健康状態の監視方法。
コネクションプールの話とか。
rs=ReplicaSet?
mongostatってコマンドがあるのか。
ServerDensityのツールとダッシュボードなどについて。
※英語のスライド見ながら話聞くとメモがとれない。
まとめ:
Keep it in Ram インデックスはメモリに載せましょう。
Watch your Strage ストレージのサイズは監視しましょう。(ログ、データ、ジャーナルなどなど)
db.serverStatus() コマンドあるよ。これで見れるデータが重要なのかな?
rs.stats() コマンドあるよ。これで見れるデータが重要なのかな?
QA:残念ながら聞き取れなかったっすw
Q:MongoDBのクエリログの統計の質問。DBごと?=コレクションごと?のクエリ統計のとり方は?
A:MongoDBにはないので、ログレベルを下げて統計取ったりする方法しかないかなぁ。
3.MongoDB: Case Study for AMN @koyhoge スライドはこちら
サービス(アジャイルメディア・ネットワーク)で利用している実例について
広告配信に関連して利用してる。
最初にPostgreSQLにて実装。5分おきにCronで再起動するはめに。。。
PostgreSQLの次にSimpleDBへ(インサートが遅い。分散インサート)
SimpleDB+SQSに変更。1日130$で断念。
SaaSなKVSはやめてMongoDBに移行してみる。
負荷も軽いし、インサートも速い!
EC2でMongoDB。しかもレプリカを東京A、B、シンガポールAにしてみよう。
shardingは残念ながらうまく行かず。
ストレージはEBSの1TB
4.「MongoDBとHadoopの蜜月関係」 @muddydixon スライドはこちら
お父さんエンジニアなので、土曜日の勉強会は無理です!=同じく辛いです!
HadoopとMongoDBのつなぎについて。
MongoDBからデータを読み込んで、Hadoopで計算してMongoDBに戻すものがmongo-hadoop
データロストがニュースになってて心配してる。データロストはめったにない(by @doryokujin)
Hadoopを計算だけに利用できるのでクラスタが落ちても気にせず立ち上げができそう。
MongoDBからデータを取得する時点でフィルタリングが可能なので、Hadoopでの演算が楽。
AdHocなクエリをMongoDBに投げれるのがうれしいのかな?
HBaseとかHiveに入れてやったりはダメなんかな?
QA
Q:なんで、みんなMongoDBにログ入れるの?@kzk_mover
A:様々な形式を入れやすいから。
Q:捨てるのどーするの?
A:コンパクションが大変(ただし、2.0以降は良くなる予定)
Q:MongoDBのMap/Reduceは?
A:時間がかかった上に死ぬというひどい目にあったので。。。
5.Fusion-io @hasegaw
340の仮想マシンが4台で動きます!
すごそう。。。一回は触ってみたいかも。
Fusion-ioすげーーーって感じ。(Ustストップ)
6.MongoDB on Cloud Foundry @yssk22
VMWare社のPaaSオファリングの名称
感想など:
mongoDBに興味はあるのに、腰が引けてるおじさんになって結局触らずに会場入りしてしまいました。 会場に入っていきなり、Treasure Dataの太田さんがマグカップを売っているという場面に遭遇するというインパクトがあるスタート。(思わず1個購入) 最初はMongoDB JPの主催者でもある@doryokujinさんの話から。今熱いfluentdとmongoDBの組み合わせに関する話で、面白かったです。 途中でfluentdを作っている古橋さんのスライドを用いてfluentdの解説まで入りました。 TL上では、その古橋さんが時々フォローを入れているという贅沢な流れ。 なんとなく仕組みはスライドなどを見ていたのですが、更に理解が深まりました。 次が、イギリスから来日されていた@davidmyttonさん(なんと24歳という若さ!)のお話。 残念ながら英語のヒアリングは微妙な私なので、あまり理解できなかったのですが、どうやら、MongoDBの運用でのTipsのお話だったようです。スライドを後で見なおしたほうがいいかな。 次は、実際のMongoDBを利用した事例の紹介。PostgreSQLから試行錯誤してMongoDB+AWSの組み合わせのお話。 やはり実例があると面白いですね。試行錯誤された部分があるので、非常にわかりやすかったです。 次が、HadoopとMongoDBの組み合わせのお話。HadoopのMap/Reduceの部分だけを利用して、データ保存先はMongoDBにしましょうという割りきった話でした。 いくつか疑問点がメモにもありますが、残念ながら質問する勇気なしという腰抜けっぷり(もうちょっと積極的にならないと。。。) で、このあとFusion-ioとCloud Foundryの話になるのですが、体力切れ+lucene-gosenのjavadocが古いことに気づいてしまい、作業をしながら聞いていたのであまり頭に残っていません。(ほんとに申し訳ない。。。) とまぁ、最近、Twitter上でいろんな人に絡みまくってまして、@doryokujinにも絡みまくってたというのもあり、今回参加することにしたという次第でした。 懇親会にも多くの人が残っており、良いコミュニティができてるなぁというのが正直な感想です。 各セッションでも@doryokujinさんが適宜QAなどのフォローをされていて感心しっぱなしでした。 あとは、Twitter上で会話をしていた方たちとも顔合わせができたので、大収穫でした。
次は、少しでもいいので、触ってから参加することにしようかと思います。 来年1月にはMongo Tokyo 2012というイベントも開かれるようで、ますます注目を浴びていきそうですね。主催者もミドルウェアもw
あ、そうそう、そんなMongoDBの勉強会でしたが、CouchDBの話もちらほら出てまして、CouchConf TOKYOというチラシも@Ijokarumawakさんから頂きました。こちらも1月開催のようです。
追記:
戦利品の画像です。マグカップ(500円)以外は貰い物です。 なんと、このUSBにはMongoDBのコマンドやクエリのチートシート(PDF)が入ってました。びっくり!
comments powered by Disqus
See Also by Hugo
- 第16回Elasticsearch勉強会を開催しました。 #elasticsearchjp
- 第15回Elasticsearch勉強会を開催しました。 #elasticsearchjp
- 第14回Elasticsearch勉強会を開催しました。 #elasticsearchjp
- 第2回elasticsearch勉強会を開催しました! #elasticsearchjp
- Fluentd Meetup Japanに参加しました。(Jugemより移植)