MongoDbのインストールと使用の最初の経験

この投稿は、プロジェクトでMongodbを試してみることにした人に役立つかもしれません(初めて使用する)。



Mongodbは、同じタイプのオブジェクトではなく、複雑な構造を持つオブジェクトを保存する必要がある場合に、(DBMSと比較して)優れたソリューションになります。 また、mapReduce機能はさまざまな統計を生成するのに便利です; mapReduceを使用すると、集計関数を使用してSQLでプロシージャを記述するよりもはるかに便利です。



私がmongodbと知り合ったのは、 The Little mongodbの本から始まりましたこれは良いマニュアルですが、Mongoでの開発を開始するために重要ないくつかの点をカバーしていません。



1. mongoをインストールします。 Linux(Debian、Centos)にパッケージマネージャーを使用してmongodbをインストールすると(apt-get install mongodb in debian)、バージョン1.4.4がインストールされます。 ほとんどの場合、その機能が十分ではないことをすぐに認識し、バージョン2.xが必要になります。 たとえば、1.4.4では、基準によってドキュメント内の配列から要素を削除する方法はなく、いくつかのmapReduceオプションを設定できません(私が遭遇したもののみ)。

最新バージョンを配置するには、バイナリファイルを含むアーカイブをからダウンロードできます サイト 同時に、デーモンの起動スクリプトと設定を書き込まないために、まずリポジトリからmongodbを配置し、次に/ usr / binのバイナリを新しいもの(Debianでテスト済み)に置き換えます。



2. mongodbを使用します。 mongoを使用するアプリケーションが実際の負荷で動作するとすぐに、コレクションのインデックスを作成する必要があります。 これが行われない場合(またはインデックスの作成が正しくない場合)、mongoプロセスはすぐにCPUの100%を占有します。



3.リクエストに応じてmapReduceを実行しないでください。 これは時間がかかる操作であるため、スケジューラ(crontab)から実行することをお勧めします。



4. mongoをphpで使用していて、Windows用に開発している場合、必要なmongoのドライバーのバージョンは、phpが組み込まれているコンパイラのバージョンによって異なります。 phpinfo()の出力を見ると、コンパイラのバージョンを確認できます。 Compliler行のエントリがMSVC6タイプである場合、アセンブルされたVC6ドライバーが必要です(PHP 5.3の場合-http://downloads.mongodb.org/mongo-latest-php5.3vc6ts.zip)。 間違ったドライバーを配置すると、mongoに関する情報がphpinfoに表示されず、Mongoを使用しようとすると、エラー「 Class 'Mongo' not found 」が表示されます。



良い仕事をしてください!



All Articles