私は Django プロジェクトを開始しており、行数が多すぎる可能性がある複数のテーブルを分割する必要があります。私はここや他の場所でスレッドを調べ、Django の複数データベースのドキュメントに従いましたが、すべてがどのようにつながっているかはまだわかりません。私のモデルには、シャーディングによって壊れる関係があるため、オプションは、それぞれのモデルのシャーディングを忘れて外部キーを削除することのようです。
議論のために、古典的なAuthot、Publisher、およびBookのシナリオを考えてみましょう。ただし、本のコピーとそれらを所有できるユーザーを投入してください。本とユーザーをシャーディングする必要があるとしましょう。どのようにアプローチしますか?ユーザーは、同じデータベースにない書籍のコピーを所有している場合があります。
一般的に、ルーティングとシャーディング自体に使用したベスト プラクティスは何ですか? Django データベース ルーターを使用したり、シャーディング ロジックに基づいてコマンド内のデータベースを手動で選択したり、それを達成するために ORM の一部をオーバーライドしたりしましたか?
問題があれば、UbuntuでPostgreSQLを使用しています。
どうもありがとう。