MongoDBをインストールしてみよう
NoSQLデータベースMongoDB
- 名前の由来は"humongous"からだそう
- NoSQLデータベースとしてBSON(Binary JSON)形式で保存される
- レプリケーション:3台セットで1つや2つ壊れても修復出来る機能
- シェーディング:パフォマンスの向上、負荷の軽減、大きいデータ対応の分散処理
- ホットデータに特化
- 全体テーブルスキャンなどには不向き
最近のBaaSもいい、RDBMS等の全体システムとは別で軽いサービスの構築に向いているのが増えている気がする。
まあ、トレンドだろうな
インストール
OS毎にダウンロードと解凍でインストールは完了
$ curl http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.4.5.tgz | tar xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 96.8M 100 96.8M 0 0 9127k 0 0:00:10 0:00:10 --:--:-- 8267k
- ダウンロードページ:http://www.mongodb.org/downloads
- MongoDBマニュアル:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
起動
取り敢えず、dataとlogフォルダーを作成し、mongodを実行するだけ
bin/mongod --fork --dbpath ./data --logpath ./log/mongod.log --rest
$ bin/mongod --fork --dbpath ./data --logpath ./log/mongod.log --rest about to fork child process, waiting until server is ready for connections. forked process: 901 all output going to: /Users/haronoid/mongodb-osx-x86_64-2.4.5/./log/mongod.log child process started successfully, parent exiting
- 起動ファイルはbin/mongod
- fork : プロセスをforkしてバックグラウンドで実行する
- dbpath : dbファイルのパスを指定
- logpath : logファイルを置くパスとファル名を指定
- rest : REST APIを有効化する
設定はファイルに指定も可能
$ mongod -f mysetting.conf
mongoDBはdefaultで27017ポートで起動するらしい
リモートやローカルでの接続は27017ポートへの接続で可能になる
停止
kill -2またはkill -15で簡単に停止が可能らしい(無理やりぽいけど)
他にuse admin; db.shutdownServer(); 命令でも可能
DBへのアクセス
bin/mongoで実行
bin/mongo MongoDB shell version: 2.4.5 connecting to: test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user Server has startup warnings: Sat Jul 6 21:11:33.680 [initandlisten] Sat Jul 6 21:11:33.680 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 >
何か警告が出た。
調べてみるとソフトリソース制限で最大ファイル数が256になっている模様
$ sudo launchctl limit cpu unlimited unlimited filesize unlimited unlimited data 6291456 unlimited stack 8388608 67104768 core 0 unlimited rss unlimited unlimited memlock unlimited unlimited maxproc 266 532 maxfiles 256 unlimited
- 確かにmaxfilesが256になっている
OS Xは基本brew install mongodbでインストールするらしい、
そこには特にこの対応がない、linuxの場合は有ったけど
取り敢えず、保留にする。
Webでのアクセス
http://localhost:28017/で確認が可能