バイト先の社長が「MongoDBを使ってみたい!」と言い出した。
言語はphpです。これももちろん、けいたっぷさんがPHPerだから。
というような実に単純な理由によりMongoDBを使うことになった。
てなわけでその記録をここにまとめたい。
私の環境:Mac OS X 10.6.8(SnowLeopard)および CentOS 5.8(Linux)
開発言語:php(予定)(でもMongoDBはRubyとも相性いいよ!)
MongoDBとは - Wikipediaより
MongoDB は、高パフォーマンス、スキーマレス、オープンソースのドキュメント指向データベースである。C++言語で記述されている。[1] MongoDBはRDBMSではない。MongoDBは、BSONというJSONのバイナリ版のような形式でドキュメントを表現し、そのコレクションを管理する。この形式は、複雑な階層を持たせることができ、なおかつクエリやインデックスが容易である。これにより、多くのアプリケーションは、自身のネイティブなデータ型や構造に合った自然な方法でデータを格納できる。
ちなみにMongoDBはいま流行しているっぽい"NoSQL"らしいネ。
MySQLなんかより、カラムを気にせず色んなデータを突っ込めるみたい。
※参考
- NoSQLとは
http://ja.wikipedia.org/wiki/NoSQL - NoSQLとRDBMS(MySQL、PostgreSQLなど)の違い
http://gihyo.jp/dev/serial/01/various-nosql/0001
MongoDBを動かすにはCentOS?
MongoDBはCentOSで動かしているよーって記事が圧倒的に多い。
ので私たちも王道で攻めることにした。
けいたっぷさん曰く、どのOS上でも同じじゃない?ということでしたが、ぐぐってみると圧倒的にCentOSでやっている人が多いのです。
※ちなみに社員のちゃっぴー氏がMacOS上で動かそうとしてたけど、ちょっと難しかったっぽい。(MAMPでphpのローカル確認することも考えると)
※MAMPとは「アプリケーションフォルダにドラッグ&ドロップするだけで Apache, PHP, そして MySQL を Mac OS X にインストールすることができる。」そうである。ソースははてなキーワード。
CentOSを導入するには、VirtualboxやVMwareFusionでOSを自分のPCにつっこみます。
VMwareでやると比較的すいすい導入できました。Virtualboxでやっている人は中には苦労する人もいるみたいだ。
CentOS導入に関しては今回触れません。
さぁ試してみよう!
VMwareのターミナルは使いづらいので
(CentOSとMacの日本語キーボードと相性悪かったww)
Macのターミナルから使えるようにします。
ちなみに以下、sudoして使うものが多くなってくるので、
はじめからroot権限でターミナルいじった方がいいです。
$ su -
でルート権限に変更できます。
パスワード要求されると思うので、Macのパスワードいれてくださいね。
とりあえずCentOSのターミナルからIPアドレスを確認します。
# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:5E:90:10
inet addr:192.168.230.129 Bcast:192.168.230.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe5e:9010/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28800 errors:13051 dropped:0 overruns:0 frame:0
TX packets:15980 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:37731307 (35.9 MiB) TX bytes:1002514 (979.0 KiB)
Interrupt:67 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1269 errors:0 dropped:0 overruns:0 frame:0
TX packets:1269 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2090390 (1.9 MiB) TX bytes:2090390 (1.9 MiB)
この青い部分がIPアドレスです。
Macのターミナルに、
# ssh 192.168.230.129
とやって、MacのターミナルからCentOSにsshで入れるようにします。
で、ここからが本番です。
MongoDBが使えるようにしていきましょう。
自分がダウンロードしたCentOSのバージョン調べます。
バージョンごとにMongoDBの入れ方が違うようです。
私のCentOSのバージョンは、
# cat /etc/redhat-release
CentOS release 5.8 (Final)
です。
CentOSのbit数も確認しておきましょう。32bitと64bitだとインストールの仕方がちょいと違います。
私のはCentOS 5.8 32bitです。
ここがx86_64だと、64bitです。
これからyumでMongoDBをダウンロードします。
ダウンロードするために、とあるrepoファイルを作成します。
私のように、32bitの人は、
64bitの人は、
その後、コマンドを打ち、ダウンロード。
CentOSを起動したら自動的に起動するようにするには、
次の記事では実際にいろいろといじってみたいです!!
書くかな。書きます多分。
ここがわかりやすいよっていう参考になるページ
ubuntuユーザーも参考になるね!!
参考:
http://blog.madapaja.net/2011/09/20-mongodb-1-mongodbjp.html
【MongoDB関連記事】
CentOSのbit数も確認しておきましょう。32bitと64bitだとインストールの仕方がちょいと違います。
# uname -mii686なので、
i686
私のはCentOS 5.8 32bitです。
ここがx86_64だと、64bitです。
これからyumでMongoDBをダウンロードします。
ダウンロードするために、とあるrepoファイルを作成します。
$ vi /etc/yum.repos.d/10gen.repoで10gen.repoというファイルを作って中身を書いていくのですが、
私のように、32bitの人は、
[10gen]と書いておきます。
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
64bitの人は、
[10gen]です。
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
その後、コマンドを打ち、ダウンロード。
# yum install mongo-10gen mongo-10gen-serverで、MongoDBサーバーを起動。
# /etc/init.d/mongod startこれで使えます。
# mongomongoというコマンドが使えるようになりました。
MongoDB shell version: 2.0.6
connecting to: test
>
CentOSを起動したら自動的に起動するようにするには、
$ chkconfig --add mongodと書いておきます。
次の記事では実際にいろいろといじってみたいです!!
書くかな。書きます多分。
ここがわかりやすいよっていう参考になるページ
ubuntuユーザーも参考になるね!!
参考:
http://blog.madapaja.net/2011/09/20-mongodb-1-mongodbjp.html
【MongoDB関連記事】
0 件のコメント:
コメントを投稿