2011年6月11日土曜日

『第4回 MongoDB 勉強会 in Tokyo』に参加してまいりました

第4回 MongoDB 勉強会 in Tokyo』に参加してまいりました。
データベースとは今まで割とかかわりなかったのですが
JavaScriptやってますのでJSONで取り出しやすいMongoDBってすごいんじゃないの?と参加させていただきました。
学生時代自前でJSONちっくなデータベースを作ってた経験もあったりね(><

それでは感想です


doryokujinさん

GridFS
1ドキュメントあたりの容量制限があるので、GridFSでそれ以上のファイルを保存できるようにする。
mongofilesというコマンドが用意されているのでそれをつかって扱うらしいです。
でもWrite性能はあまりよくないらしい。
あとで話された方もこの『1ドキュメントあたりのサイズの制限』を意識して実装されていたふうにおっしゃっていました。

地理情報インデックス
デフォルトでは経度と緯度の情報-180~180になっている。
オプションを使えば球面検索にも対応している、地球は丸い。
PostgreSQLにはPostGISというのがあって、それにはまだまだおよばないらしい。

個人的には3次元空間に対する検索機能とか需要あるかなと思った。
地球は丸いかもしれないけど仮想世界は丸くなかったりする。
3Dなゲームとかで自分の近くにあるオブジェクトなんかを簡単に抽出できたらおいしいんじゃないかなと。

シャーディング
自動シャーディング、自動バランシングでドキュメントを振り分けてくれる!
(でもTL見てるとパフォーマンスの低下に関する懸念が…)
1つの物理サーバーに対して1つのシャードにするのはあんまりよくないらしい。
コアの数だけmongod立てておくのがいいかもしれないらしい(理由は1つのコアしか使えない命令が結構多いとか)。
そいやNoSQLはトランザクションがないんだ!まじっすか!

kiyotamanさん
SnapDi.shの開発苦労話、10月ころから構想開始。
MongoDBを使えば給料が上がる(デマです)。

設計はドキュメント制限(当時4MB) > コンテンツの最小単位
きっとコメントは「おいしー」とか「きゃー」とか「わー」のはず。
そう割りきって設計すると楽になるかもしれない(未だに4MBを超えることはないという)。

pakpakさん
『GAEやめたい、bigtable似てる、高速なデータ、JSONつかえる、自動フェイルオーバー、1ドキュメントならatomicな更新ができる』という理由でMongoDBを採用。
自動バランシング機能は案外じゃまになることがあるのでOFFにしたとの。
Chunk移動中にデータが消えたように見えるらしく、
『ユーザーが消えたふうに見えた』ことがあったようですw

間に質問大会が挟まれる

choplinさん
mongodbさわってかえろう!
会場の殆どの人がMongoDBで遊んだことがあった人だった(普通に考えたらそうだよね!)。
MongoDBはCygwinコンパイル通らなくてふて寝してましたごめんなさい。
10genの人が作ったSleepy Mongoose REST Interfaceを使ったライブコーディング。
ほむほむ。

---

まとめってほどじゃないけど思ったことはMongoDB使うと楽にできそうだなーということ(Agile的な?)。
やっぱり最大の利点はJSONで扱えるということ。JSONのままそのまま放り込めるのはいいと思う。
でも容量の問題とかもあるしでっかいバイナリはなげこめないねーと思った(´・ω・`)
テキストエディタで最強なのはNotepad++

懇親会は会場でイタリアンなお食事(持ち帰り用のパックが用意されていたw)。
とっても楽しかったです。

みなさん、お疲れさまでした!

0 件のコメント:

コメントを投稿