PHP x MongoDB
       PHPcon Kansai
          2011/4/2




      Yasushi Ichikawa
  @cakephper / @ichikaway
What is MongoDB

NoSQLの一つ(ドキュメント指向DB)
1レコードに好きな構造のデータ格納可能
RDBに近い感覚で扱える
  –   Join, transaction無し
PHP driver
  –   pecl install mongo
  –   http://php.net/mongo
PHP CODE

•   Connect
     –     $mongo = new Mongo('localhost',27017);
     –     $db = $mongo->selectDB('blog');
     –     $table = $db->selectCollection('posts');
•   Find
     –     $table->find($cond, $field)->sort()->limit(5);
PHP x MongoDB


 詳しく知りたい方は
http://www.google.co.jp/#hl=ja&
        q=mongodb+php
KANAEL


http://kanael.net
KANAEL URL

http://参加し.たいです.jp
http://花粉症が治る薬が.ほしい.jp


共感した人がクリック&カウント
URLで何がほしい/したいという表現可能
Twitterとの相性が良い
KANAEL PC screen
KANAEL Mobile Screen
Kanael x MongoDB

コードベースでスキーマ自在に変更
アトミックな更新ができる演算子
 –   array('$inc' => array('hoeg' => 1));
将来の負荷対策の選択肢
 –   Forsquareの運用実績
さくらVPS 1.5G
 –   Apache, PHP(CakePHP), MongoDB
Kanael x MongoDB
ピーク 約10万PV/day
 –   77万リクエスト/day
 –   CPU 75%(Mongo 10%)

        http://枝野官房長官にはきちんと寝て.ほしい.jp/
        http://マスコミの東電に対する口の聞き方をどう
        にかし.たいです.jp/
MongoDB Tips

64bitバージョン必須(OSも64bit必須)
 –   32bitは2Gまでしかデータ保存できない
1レコード4Mbyteの壁(ver1.8は16M)
データサイズ大
 –   各レコードにカラム名が入る
簡単な管理なら、phpMoAdminが便利
PHP x MongoDB



Thank you

Phpcon kansai 2011 ichikaway