Mac OS X で mongoDB

1st Jul, 2010 | mongodb

出張とか旅行で家を空ける機会が多かったので久しぶりになってしまった。

普段はFreeBSDをサーバ用途で使っているのだけど、Macでも手軽に実行できるので紹介してみる。ダウンロードして展開する以外、特にインストール作業いらない。もろもろなパッケージ管理ツールみたいなものを使ってもいいけど、遊ぶぐらいならこれで十分かな。

とりあえず、 ここ から適当にダウンロード。(OS X 64-bit の 1.5.X とか)

次に、mongoDBのデータを入れるディレクトリを作成。

$ mkdir /somewhere/mongodb_data

後は、ダウンロードして展開したmongodを実行するだけ。

$ /foo/bar/mongodb-osx-x86_64-1.5.3/bin/mongod --dbpath=/somewhere/mongodb_data

オプションを何もつけないとフロントエンドで実行される。バックグランドで実行したい場合には、 --fork --logpath=/somewhere/mongodb.log とか付ける。

接続できるか、mongoコマンドで確認

$ /foo/bar/mongodb-osx-x86_64-1.5.3/bin/mongo
MongoDB shell version: 1.5.3
connecting to: test
type "help" for help
> 

エラーが出ないでプロンプトが出たら完了。

後は チュートリアル をやってみるもよし、お好みの言語でいじるもよし、mongoライフを楽しみましょう。



今週のMongoDB翻訳

27th Mar, 2010 | mongodb

日本滞在中でいまいち調子が狂う。今週は更新のみ。



MongoDBが起動しなくなった場合

16th Mar, 2010 | mongodb

なんだか、「MongoDB強制終了したら二度と起動しなくなった。もう使わない!」的なのを今日二ヶ所で見かけて、せつなくなったので今後ググられて目に止まることを願って書いておく。っていうか、ログぐらい見ようよ!

まず、正常に終了処理をしなかった場合、そのままでは、MongoDBは次回に起動しません。仕様です。ドキュメント的には、Durability and Repair (日本語) がそれにあたる。

このときログファイルを見ると、こんな感じになってるはず。

**************
old lock file: /var/db/mongodb/mongod.lock.  probably means unclean shutdown
reccomend removing file and running --repair
see: http://dochub.mongodb.org/core/repair for more information
*************

lockファイルはrepairコマンドが消してくれるので、自分で削除する必要ないので、--repairを実行しておけば大丈夫。

> mongod --dbpath=/var/db/mongodb --repair 

みたいな、感じで実行する。 dbpathはデータベースがある場所。これはFreeBSDのパッケージでの標準の場所なので各自の環境にあわせること。

このコマンドはデータを直した後、そのまま終了してしまうので、その後で通常の方法でmongodを起動し直せばok。



今週のMongoDB翻訳

13th Mar, 2010 | mongodb

なんとなく1翻訳1エントリにするのはやめた。 Twitterには流してる

新規で訳したもの:

更新したもの:

更新を追いかけていくのが大変になってきたので、新規のはぼちぼちやっていきます。


MongoDBの翻訳全般については、 こちら参照。



MongoDBのライセンスについて

10th Mar, 2010 | mongodb

Twitterで少し話題になっていたので、MongoDBのライセンスについて書いてみる。

「MongoDBを使う場合、自分で書いたアプリケーション側のソースも全部公開しないといけない」的なが広がるのはちょっと嫌なので。

http://www.mongodb.org/display/DOCS/Licensing とか、 http://blog.mongodb.org/post/103832439/the-agpl を読んでみてもらえばだいたいわかると思うのだけど、MongoDB自体は、確かにAGPLなので、改変した場合、(一般に公開する)サーバ用途の利用でMongoDB自体のソースの公開の義務はある。ただ、これはMongoDB本体の話で、自分で作ったアプリケーションには適用されない。また、ドライバー関連はApache licenseなので、ドライバーを組み込むような自分のアプリケーションを作った場合もAGPLは適用されない。

もし、これが嘘なら、自分のところでも使いづらくなるので、ツッコミ超歓迎。