データ リポジトリが MongoDB であるアプリを開発しています。データベースには、A と B という 2 つのコレクションしかありません。
アプリケーション層から発生するトランザクションのタイプは 1 つだけです。このトランザクションは 2 つのクエリを生成し、これら 2 つのクエリはコレクション A にヒットし、いくつかのデータを取得します。AR1とAR2としましょう。AR1 と AR2 でいくつかのロジックを実行し、pAR1 と pAR2 を考え出す必要があります。
ランタイム コレクションを作成し、そこに pAR1 と pAR2 を挿入してテキスト検索を実行し、結果を APP サーバーに送信します。データがアプリサーバーに送信されたら、作成されたコレクションを削除しています
これがサイクルです。
質問 1: 多くのトランザクションがデータベースにヒットすると予想しています。1 分あたり 100 トランザクションとします。その場合、実行時に 100 個の一意の名前付きコレクションが作成され、すべてのトランザクションが完了すると、作成された 100 個のコレクションが drop コマンドを使用して破棄されます。
1回の取引で問題なく動作し、満足しています。しかし、このデザインが健康的で良いものかどうか、皆さんにお尋ねしたいと思います。drop コマンドは、作成されたコレクションを削除し (コレクションの痕跡を消去し、メモリが蓄積されないようにします)、データベースを保持しているサーバー マシンをいっぱいにします。
質問 2: MongoDB の Web サイトで、テキスト検索機能を実稼働環境で使用すべきではないことを見ました。なぜなのかわかりませんか?アプリはテキスト検索エンジンです。それが使用されているかどうか(テキスト検索機能)、私が取ることができるすべての必要な予防措置は何ですか)
私の質問に答えるためにあなたの時間と労力をありがとう.