San Franciscoにいる間に行けるだけ勉強会に行っておこうと思って、 今日は今まで触ったこともないMongoDBの勉強会に行ってきました。 ■ AKQA(http://www.akqa.com/)のSFオフィス マーケットストリートのパウエルから地下鉄のmuniのNラインに乗って 2nd St & King Stっていう駅に向かいます。 muniトレインは途中から路面電車になりますが、地下鉄の中で一番前に乗ると電車でGO 気分が味わえますw ほんとにAT&Tパーク(サンフランシスコジャイアンツのホームスタジアム)の真向かいにあるビルでした。 野球好きにはベストな環境かもw ■ MongoDB meetupの会場 エレベータの前にソレっぽい置き物があったりして。 ここのオフィスもシャレオツな感じで自転車がグワって止まってたなぁー 個人個人でパーティションに区切られてるようなフロアでした。 ステッカーをいただいて、揚げ物オンリーの軽食と炭酸飲料をいただきながら 勉強会の開始を待ちます。 この辺はどこいっても勉強会前にメシ食う感じなんですねぇ。 MongoDBのTシャツ着た主催者的な人の前説的なのがチョロっとあって いよいよ勉強会はじまりです。 ■ Assaf Arkinさんのお話 勉強会では恒例の(?)事前挙手アンケート的な。 MongoDB使ってる人~って質問に半分近く手上げてて、 その中でプロダクション環境に導入した人~って質問にほとんどの人が手あげ続けてた。 もちろんMongoDBの勉強会だからって事もあるけど、ホホーと思いました。 以下内容のメモです。 - 元々Redis使ってた。 Dumbだけどすっごい早くでナイス。 でもindex張ってデータ取り出せないよね。 - 今までのアプリの問題点 コンシステンシを保つために大変な努力をしてるよね。 ストアドとかCobolみたいの半端ないっしょ的な。 (DBからみて)Client側でゴリッゴリビジネスロジック書いて。 DBもスライスしたりして横に広げる努力をしてました、と。 - MongoDB使えば今までClient側で書いてたビジネスロジックは データベースにやらせる感じになる ※ この辺、英語の聞き取りあいまいです。。。 - 続、今までの問題点 Webなサービスはinsaneな量のデータをうむ サーバのスケールアップは高価だし レスポンスのスピード出せないし - ってことでMongoDBですよ、と。 Meta-Programmingがなんちゃら、、※ Rubyがどうのって聞こえたけど英語がよくわからんかった。。 すごい領域食うけどEC2上で動かせば安いよね ORM使いながらシリアライズされたデータをDBのBlobに突っ込むとかナンセンスな事せんでイイ シャーディングでスケールアウトじゃ Node.jsと組み合わせでノンブロッキングI/Oがどうとか。。。 ※ ここも良く分からんかった。。 - Relational Data Store(RDBMSと比べてManagementしないよって事) Pluralなんだったらテーブルじゃんね的な。 リファレンス出来るならリレーショナルに出来るじゃんと。 → RailsのActiveRecord使った例のコードを見せてくれてなんの違和感もないでしょ、と。 Array and .notation VS indexing tables Partialな更新も出来るんだぜ、と。 - トランザクションの話 Not about Money, Not about reliability, Allow concurrency. Pessimisticなdon't lockだとか言ってたけど、トランザクションを犠牲にした テクニックについてもうちょい聞きたかったなぁ。 - 早いレスポンス DBの手前のmemcachedなんて要らない JSON使いながらJavaScript(Node.js?)からの呼び出しですっごい早い - QA トラブルとかでデータを失った事は? →1年間で2回くらいトラブってるけどEBSのスナップショットに救われたみたいな回答してた。 - 感想 最初の方の、今までの問題点であるある的なところは理解出来たけど、 肝心のMongoDBの話になってから全くついていけなかった。。。 英語はもちろんだけど、前提知識が無いのはしんどいのぅ。。 ■ AKQAの中の人のお話 ノートPCの電源が切れてしまったためメモ取れず、、 最初にビジネス的な人から、こんなサービスで、週末とか200万UUからのアクセスが こんな風にブワーってくるんだぜ的な紹介があって、 そこから恥ずかしがり屋さん風のマネージャ的な人から、 こんな風にやったんだよ的な話の合間に、あなたラッパーですか?くらいの マシンガントークをする人が、すごい勢いで話してたけど、 シャーディングしてないとか、パーシャルアップデートもしてない とか言ってるような気がして、そーんなにイカした感じで使ってないのかなぁと思いつつ、 自分のヒアリング能力の低さに凹んだりもしました。。 が、勉強会の後で外でタバコ吸ってるのみかけて、今日はありがとうみたいな感じで話かけてみたら、 笑顔でリアクションしてくれて、その辺がこっちの人はなんだかイイのよねぇ、と。 ■ 10gen 『I "MongoDBロゴ" SF』ってTシャツを持った女の人に、アレ欲しくね?って事で、 一緒に行った弊社DBAの@yhimekoが話しかけてくれて (彼女は日に日に積極性が増してる感じして頼もしい限りです)。 そしたら、その女性がメールくれればーとかいって書いてくれたメアドが10genのだったので、 東京で10genの人招いてMongoDBのカンファレンスをうちの会社でやったんだよーって伝えたら、 その会社知らないけどアジアツアー的な事するからさって凄い高いテンションで言われたりして。 こっちの子会社含めて弊社の知名度アップになんか貢献出来ないかなぁって思ったりします。