少し前、Ben さんの指導のおかげで、以前から興味があったのになかなか実際に触れてこなかった NoSQL の世界に足を踏み入れました。最初に触れた NoSQL システムは MongoDB で、今のところ使えるのもこれだけです。NoSQL について書かれた記事をいろいろ読んで、最初は SQL とはずいぶん違うものだと思っていました。しかし実際に MongoDB を使ってみると、両者はとてもよく似ていることがわかりました。原理には多少の違いがあり、性能はより良いです。もちろん、SQL でできることの中には NoSQL ではできないこともあるので、それは各自のトレードオフや要件次第です。ただ、NoSQL の話はこの記事の主題ではありません。この記事では MongoDB を紹介し、Windows へのインストール方法をお伝えします。
MongoDB は 10gen チームが開発した NoSQL プログラムです。ドキュメント指向のデータベースシステムで、つまり MongoDB の各データベースは、フォルダの中に「ファイル」として保存されます。データベースを削除したいときは、そのファイルを削除するだけです。また、複数の OS に対応しており、現在よく使われている Windows、Mac、Linux はすべてサポートされています。さらに、PHP、C++、Python、.NET、Java など、有名なプログラミング言語の多くも MongoDB に対応しています。対応言語の一覧は、こちらのページを参照してください(http://www.mongodb.org/display/DOCS/Drivers)。
また、MongoDB の大きな特徴の一つは、構文が JavaScript によく似ていることです。MongoDB のコマンドの中で多くの JavaScript の構文を使えますし、ループや条件分岐なども使えます。たとえば for(var i=0;i
mongod の中で、Date などの各種 JavaScript オブジェクトを直接使うこともできます。
MongoDB の情報
- 公式サイト:http://www.mongodb.org/
- ダウンロードページ:http://www.mongodb.org/downloads
- ドキュメント:http://www.mongodb.org/display/DOCS/Home
- SQL と MongoDB の対応表:http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart
MongoDB の特徴
- ドキュメント指向の NoSQL
- JavaScript と統合されている
- 高性能
- シンプルでわかりやすい構文
Windows・Linux への MongoDB のインストール
1. まず MongoDB のダウンロードページから必要なメインプログラムをダウンロードします。32 ビット版と 64 ビット版は別物なので注意してください。ダウンロード後に解凍すると、中に bin フォルダがあります。その bin フォルダの中のファイルを C:WINDOWS に移動します。Linux にインストールする場合は、bin の中のファイルを /usr/bin に移動してください。
- システムのルートディレクトリ(C:)に data フォルダを作成し、その中に db フォルダを作成します。このフォルダは、MongoDB がデータベースを保存する場所として使われます。
Linux の場合:
sudo mkdir -p /data/dbsudo chown
id -u/data/db

- ここまでで、インストールは完了です。CMD を開き、mongod と入力します。これは MongoDB サーバーを起動するという意味です。用途に応じて、後ろにさまざまなパラメーターを付けることができます。
- 次に、もう一つ CMD のウィンドウを開き、mongo と入力します。これは MongoDB のシェルを起動するという意味で、ここから MongoDB を直接操作できます。デフォルトでは、ローカルマシンの mongod サーバーに接続されます。別のコンピューターの mongod に接続したい場合は、[mongo ip/dbname] と入力します。たとえば 200.0.0.15 の test データベースに接続するには、mongo 200.0.0.15/test と入力します。mongod サーバーのポートを変更している場合は、[mongo ip:port/dbname] と入力します。
- 最後に、bin/mongod をコンピューターの起動時に自動で実行されるように設定することもできます。ただし、そうする場合はセキュリティの設定に注意してください。






