0

現在、django アプリで 2 つのデータベースを使用しています。数値データを格納するための mongodb と、関係を処理し、ビジネス ドメインの背景を提供するための mysql です。

懸念事項が 1 つあります。

まず、mongoengine を django シグナルとカスタム tamplate タグと共に使用しています。意味:

このフィルターを呼び出すたびに。{{myobject|do_sth:"20"}} プロセスは次のようになります:

フィルター呼び出し -> 引数 "20" を持つ myobject の do_sth プロパティ 呼び出し -> シグナル job_done を送信 -> シグナル job_done を受信 -> monoengine ドキュメントを作成 -> 保存

それが明確かどうかはわかりませんが、それはさまざまな手法の組み合わせにすぎません。私の問題は、この場合の効率の問題はどうですか? 誰かがその解決策を試したことがありますか、または同様の経験がありますか?

別の質問: mongodb コレクション内のアイテムの数を気にする必要がある場合、上記のプロセスを比較的頻繁に使用するためです。1 週間で 10,000 まで増加し、コレクションをクリアするとします。それでよろしいですか?

4

1 に答える 1

0

単純なテンプレートタグにはあまりにも多くのロジックであり、ビュー自体で行う方が良いかもしれません-少なくともそれはジャンゴノートが主張することです.

データが作成されるように信号を呼び出すだけでなく、フィルターの結果を出力していると思います。結果を出力していない場合は、処理をオフラインにし、ユーザーをブロックしないようにします。私は、長時間実行/ブロックする可能性のあるタスクでセロリを使用して大きな成功を収めました (mongodb はキュー バックエンドとしてうまく機能するため、スタックを複雑にする必要はありません)。

大規模なクラスター全体に大量のデータがある運用中の MongoDB - したがって、10,000 ドキュメントは比較的少量のデータです。

于 2012-09-03T13:09:09.017 に答える