なぜやったのか
NoSQLで大量の読み書きを安く済ませたかった。
Firestoreを使いたかったのですが、読み書きなどによる従量課金制なので
月額課金制であるMongoDB Atlas(以下、Atlas)を使うことにしました。
対象となる人
- MongoDBでクラスタを構築したい
やること
- MongoDBクラスタ構築
- Atlasでデータベース作成
- Atlasでコレクション作成
やらないこと
- Atlasの権限管理関連
- セキュリティ関連
MongoDB Atlasって何者?
MongoDB社が提供しているDBaaS(Database as a Service)です。
クラウド上で、DB管理やユーザーの権限を管理でき、
本来、敷居が高いと言われるクラスタ構築も簡単に行えます。
プランによっては 無料で管理できます!!
アカウント作成
はい、英語です。
サイト内は日本語の対応がまだされておらず、苦手な方はGoogle翻訳を使うことになります。
入力を終え、登録するとさっそくプランを選択する画面に行きます。
クラウドサービスプロバイダはAWS, GCP, Azureから選択できます。
弊社ではGCPをメインで使っているので、GCPを選択しました。
FREE TIER AVAILABLE と書かれているリージョンは無料プランが選択出来るということです。
ここではプランの選択ができます。
Mの後ろの数字が大きいほど最強です。
注意事項としてM0, M2, M5 Tier では、使用できるメソッド・設定が制限されています。
ここでは全て紹介致しませんが、集計メソッドAggregationなどが使えません。
Additional Settings ではバックアップの設定や、DBのバージョン指定ができます。
右下のCreate Clusterをクリックすると、早速クラスタが作成され、管理画面に飛びます。
データベース接続
管理画面のCONNECTをクリックすると行けますが、初回だと設定があります。
AtlasではDBへのアクセスをホワイトリスト制で制限しています。
ここでは自分のIPアドレスを追加しておきましょう。
ユーザーの作成もここで行います。最初に作成するユーザーは管理者権限を持っています。
次へ進むと、DBへの接続方法の案内を見ることができます。
シェルでアクセスする方はConnect with the Mongo Shell。
アプリからアクセスする方はConnect Your Application。
MongoDB Compassからアクセスする方はConnect with MongoDB Compass。
データベース&コレクション作成
用意されているデータセットを読み込ませるか、1から作成する方法が御座いますが
今回は後者をやってみます。
データベース名とコレクション名を入力します。Createを押すと作成。
簡単ですね!!!
あとはブラウザ上からデータを操作したり、シェル、アプリから操作することもできます。
まとめ
数回のクリックでDBを構築できたりと非常に便利ですね。
今回は取り上げてませんが、プランによってはシャードクラスタも構築することができます。