web-dev-qa-db-ja.com

Mongodbのシャーディングされたクラスターからのデータベースの削除

私は2つのシャードと3つのmongosサーバーを備えたmongo shard dbシステムを持っています。私のアプリケーションは、ビジネス要件に従って毎日データベースを作成します。毎日DBに分割されたコレクションがあります。

Db.dropDatabse()を使用して古いDBをいくつか削除しました。 mongosサーバーに接続してshow dbsを実行すると、これらのデータベースは存在しませんが、configデータベースを確認すると、これらのデータベースのエントリが別のコレクションに残っています。データベースのように、変更ログ、チャンク

これらのデータベースを完全に削除する方法を教えてください

3
viren

残念ながら、dropDatabaseではクリーンアップされないものがあります。一方、手作業で削除した場合、害を及ぼすことはありません。統計などのデータは、mongodsが再起動するまでノードに常駐します。 (最初に試してみてください!本番環境ではありません)。構成データベースは比較的小さく、パフォーマンスの面で大きな要件がないため、おそらく問題ではなく、安全のためにそのままにしておきます。 。

また、手動のアクションを作成する方法を確認するために何か: https://stackoverflow.com/questions/9407838/mongodb-dropdatabase-not-working

この質問で言及されているように、そのような場合のdropDatabaseには少しバグがあります: https://jira.mongodb.org/browse/SERVER-4804

1
attish