3. MongoDB¶
3.1. テナント削除¶
MongoDB データベースのサイズが非常に大きい場合、テナント削除がすぐに完了しない場合があります。 コンソール上では、テナント削除エラーとなります。
3.1.1. 対策¶
削除エラーとなった場合は、しばらく時間をあけて再度削除を実施してください。
3.2. ディスク容量不足¶
ディスク容量が不足すると、MongoDB プロセスが異常終了する場合があります。 具体的には mongod が異常終了します。
3.2.1. 対策¶
監視ソフトウェアを使用して、ディスク容量不足に陥らないよう監視を行うことを推奨します。
不足しそうな場合は、ディスクを追加するか、シャーディング使用時はシャード追加を行ってデータを分散させてください。
3.3. シャーディング¶
MongoDB シャーディング環境では以下の点に注意が必要です。
- シャード間でデータのマイグレーションを行っている最中にバケットを削除することはできません(エラーになります)。
- マイグレーションが稼働中かどうかは、mongo シェルの sh.status() で確認できます。
- シャードキー設定後、全APサーバへのシャード情報の伝搬には最大60秒かかります。この間、バケットへのアクセスが制限される場合があります。
- Configサーバはレプリカセット構成(通常3台構成)としてください。
- レプリカセットが正常稼働している状態でないと、テナントの追加・削除処理を行うことができません。その他の操作(バケット作成など)は問題ありません。
3.3.1. 対策¶
テナント追加・削除、シャードキー設定、バケット作成・削除などの管理操作は、開発時とサービス運用停止時(メンテナンス時)にのみ行うようにしてください。
3.4. トランザクション¶
MongoDB 4.0より、マルチドキュメントトランザクションをサポートします。 APIサーバも、v7.5より一部のREST APIでサポートを行います。
トランザクション機能は、レプリカセット構成を使用する場合のみサポートされます。
- 詳細は、 MongoDB Transactions を参照して下さい。
3.4.1. 対策¶
- スタンドアローンの場合は、レプリカセットへの更新を行います。
- シャーディングの場合、MongoDB 4.2でのサポートが予定されています。 リリース後に更新を検討してください。
3.5. アップグレード¶
MongoDBをアップグレードする場合、直接最新のバージョンに更新できない場合があります。
3.5.1. 対策¶
- MongoDBをアップグレードする際の注意 を参照し、 適切な順に更新を行って下さい。