読者です 読者をやめる 読者になる 読者になる

1.21 jigowatts

Great Scott!

MongoDB mLab(旧MongoLab) に接続する

概要

MongoDBの情報をネットで追っていたらMongoLabというキーワードをいくつかのサイトで見かけました。気になったので調べてみると、

  • MongoLabからmLabへ名前が変わった
  • MongoDBのホスティングサービス、DaaS(Database as a Service)である
  • 無料枠で0.5GBまで使える!


ということで颯爽と試してみることに。

mlab.com

アカウント登録

まずはアカウントを登録します。
サインアップ画面で情報を入力し、[Create account]を押下。確認メールが飛んでくるので、メールのリンクからログインして完了です。
f:id:sh_yoshida:20160830235121p:plain

データベース作成

ログインしたら[Create new]でデータベースを作成します。
f:id:sh_yoshida:20160830235401p:plain

プロバイダとプラン、データベース名を入力して[Create new MongoDB deployment]。
今回はAzureでSingle-nodeを選択し、無料のSandboxで作成しました。データベース名は「rockets」。特に意味はありません。
MongoDBのバージョンはまだ3.0xしか選べませんでした。来月v3.2にアップグレードされるみたいです。
f:id:sh_yoshida:20160830235417p:plain

デプロイ一覧に先ほど作成したデータベース(ds044699/rockets)が表示されました。これを選択してデータベースの詳細画面へ移動します。
f:id:sh_yoshida:20160830235435p:plain

接続情報に記載の通りユーザとパスワードが必要なので、データベースへの接続ユーザを作成します。
f:id:sh_yoshida:20160830235451p:plain

Usersタブへ移動し、[Add database user]を押下。
f:id:sh_yoshida:20160830235510p:plain

ユーザとパスワードを入力し[Create]。
f:id:sh_yoshida:20160830235528p:plain

接続

URIは適宜読み替えてください。

  • Mongoシェルから
$ mongo ds044699.mlab.com:44699/rockets -u <dbuser> -p <dbpassword>
  • Rubyドライバから
client = Mongo::Client.new('mongodb://<dbuser>:<dbpassword>@ds044699.mlab.com:44699/rockets')

前回作成したTweetArchiverの接続先をmLabに変えて実行してみた結果ですが、2,500件ほどのツイートが保存されました。まだまだ容量はたくさんありますね。MongoDBのローカルインストールの手間を考えると、サクッとMongoDBを試すのにはちょうどいいですね!
f:id:sh_yoshida:20160831002851p:plain

sh-yoshida.hatenablog.com