レポート

「MongoDB Conference in Japan」レポート

この記事を読むのに必要な時間:およそ 3.5 分

4.「You're Happy When You Choose Ruby and MongoDB」

続いて日本のセッションに入りました。まずはYunna KuritaさんからMongoDBとRubyの幸せな関係について発表していただきました。

趣旨:MongoDBとRubyの幸せな関係:RubyからMongoDBを扱う時には,目的に応じて適切なアーティテクチャーの選択をしないといけません。ドライバーの比較からはじめ,RailsとMongoDBの関係,Geo情報の扱い,Hadoop Streamingの利用時などのTipsと,Rubyっぽい「黒魔術」なMongoDBの利用法のお話をします。

画像

MongoDBのRuby(Rails)ドライバはたくさんの種類があります。利用用途に応じてどのドライバを使うべきなのかを詳しく説明されました。これは非常に貴重な資料だと思います。また,レセプトデータと呼ばれる医療用のデータをMongoDBに格納していくための方法が紹介されました。レセプトデータは項目の数が不規則であり,かつ人間が手入力で行うため,記入欄や項目の順番の前後があり,電子データとして扱い解析を行うのは非常に面倒です。それをMongoDBの柔軟な機能をうまく利用し,また統計解析ソフトRでの解析に繋げるためにHadoopStreamingを行うなど,テクニカルに解決されたとのこと。医療データはMongoDBが活躍できる分野だと感じました。そのほか,DBに格納する前にプライバシー情報の保護をどうしていくかがポイントであることに言及されていました。

5.「Social Data and Log Analysis Using MongoDB」

筆者(芸者東京エンターテインメント株式会社(GTE)⁠MongoDB JP主催者)もログ解析におけるMongoDBの活用方法について発表させていただきました資料はこちら)⁠

要旨:ソーシャルデータの解析データサーバーとしてのMongoDBの活用方法をお話しします。アクセスログ・行動ログ・ユーザー属性情報などの各種ログをMognoDBへ集約させる方法,またHadoop,R,JQueryなどの他のツールとの連携のさせ方を具体的にお話しします。

画像

アクセスログをMongoDBに保存しておき,MapReduceを利用してUserID,User Agentなどの項目をキーにして各URLのPVとUUを計算する方法を具体的に紹介しました。また,現状のMapReduceの問題と次期バージョンの新機能などについて触れ,MongoDBのMapReduce機能についても理解していただけたと思います。次にMongoDBに格納データを取り出し,WebUIやRで解析を行っていく部分についての話をしました。MongoDBのREST機能を用いることで,フロント側から直接MongoDBにリクエストが行え,JSONの形式で受け取ることができます。この機能を利用して別途スクリプトを作成することなく,JQueryによる描画を行ったり,R用のオブジェクトに変換して利用方法などを説明しました。解析データサーバーとして,MongoDBは非常に強力な相棒となってくれていると筆者は強く感じています。

6.「MongoDB as a Search Engine Document Repository」

Kazuki Otaさん(株式会社 Preferred Infrastructure CTO)からは,Sedueと呼ばれる大規模検索エンジンのドキュメントレポジトリとしてのMongoDBの活用事例を発表していただきました資料はこちら)⁠

要旨:分散検索エンジンSedueではMongoDBをドキュメント保存用のリポジトリに使用しています。MongoDBを選択した背景や理由,採用するに当たって苦労した点,そして大規模化にむけたSharding性能実験等を紹介したいと思います。

画像

実プロダクトへの導入事例として非常に貴重なセッションになりました。SedueのドキュメントレポジトリとしてMongoDBをMaster-Maseterで構成し,またDFSとしてMongoDBのGridFSという機能を利用しているとのことです。さらに格納しているドキュメントのスキーマやクエリについても具体的に説明されました。またPFIの方々はMongoDBの開発に関しても貢献しており,たくさんのissueを解決しています。この取り組みには脱帽しました。

最後にSedueでの利用の際に生じた現状のMongoDBの抱える様々な問題について紹介されました。非常に具体的な内容でとても勉強になるセッションでした。

著者プロフィール

井上敬浩(いのうえたかひろ)

MongoDB JP主催者。MongoDB日本語ドキュメント訳もしています。現在はアルバイトとして芸者東京エンターテインメントGTEでソーシャルアプリのログ解析を1人で担当しています。Hadoop,MongoDB,GraphDB(Neo4j)を使用して,大規模かつ複雑なソーシャルデータの解析を行っています。解析技術においては業界一を本気で目指しています。

Twitter:@doryokujin