私はpostgresql 9.0でDjango 0.97バージョンを使用しています。私はマスタDBサーバとスレーブDBサーバ上でホット・ストリーミング・レプリケーションを設定しました。私のアプリケーションは、DB上でボット駆動の重い書き込みを持ち、ユーザーからのみ読み込みます。したがって、私はボットの書き込みアクセスのためのユーザーと書き込みアクセスのマスターdbに対して読み取りアクセススレーブdbを作成すると非常に最適化されます。残念ながら、Django 1.2のみが複数のデータベースをサポートしており、私のアプリケーションでアップグレードするための膨大な努力をしています。私は次のリンクを介していくつかのリードを持っています:http://www.eflorenzano.com/blog/post/easy-multi-database-support-django/しかし、これはまた、私のアプリケーションでのdbアクセスのすべてのインスタンスを変更する必要があります。 django core dbモジュールを使って読み込みアクセスと書き込みアクセスに別々のdbサーバを割り当てる簡単な方法はありますか?django 0.97で読み込みDBサーバーと書き込みDBサーバーを分離する方法は?
0
A
答えて
1
あなたの最善の策は、既に存在する機能をハッキングすることよりも大幅に機能が少なくなるため、1.2にアップグレードすることです。ずっと長く0.97に固執すれば、あなたの人生は道のりでもっと難しくなるでしょう。
Django 1.2で複数のDBを使用する方法についていくつかの誤解があるかもしれないと思います。 DjangoのDatabase Routers機能を使用している場合、[あなたのアプリケーションのデータベースアクセスのすべてのインスタンスを変更する]必要はありません。
ルーターでは、読み取りと書き込みに使用するデータベースを指定できます。あなたの既存のdjangoモデルはすべて動作し、適切なデータベースに要求を送信し始めます。ルータを設定するのは簡単ですが、docsにチェックを入れてください。必要なのは、ルータクラスを作成し、どこかに置いてから設定に行を追加することだけです。
これは実際にうまく機能し、期待するほどの作業ではありません。あなたは私たちに言っていないアップグレードに関する他の問題を抱えているかもしれませんが、モデルのところまでは多くの問題があってはいけません。
関連する問題
- 1. DBからの読み取りとファイルへの書き込み
- 2. ファイル読み込みと書き込み
- 3. さまざまな読み取りおよび書き込みdbサーバーでEFを使用する
- 4. dbからのビューの読み込み
- 5. オブジェクトの書き込み/読み込み
- 6. TCPListener/TCPClientサーバー - クライアントデータの書き込み/読み取り
- 7. ubuntuサーバーの通常のディスク読み取り/書き込み値
- 8. データセットの書き込み/読み込み方法
- 9. DBを読み込み、変換して、ファイルを書き込みます:OSツールはありますか?
- 10. ファイルへの読み書きの高速読み込みと書き込み
- 11. 分散書き込みジョブがMongoDBサーバーのリモートマシンとクラッシュする
- 12. トランザクション中に読み込み専用のハイバネーションセッションを書き込む方法(マスター/スレーブDB)
- 13. iPhoneでのテキストファイルの書き込みと読み込み
- 14. TCPサーバーの読み取り/書き込みでpoll()を実装する
- 15. アセンブリ内の読み込みと書き込みと整数ATT
- 16. Coredataパフォーマンス - 事前読み込み済みコアデータsqlite db for readonlyデータセット
- 17. 読み込み中にsqlite3 dbをコピーする
- 18. マスタ/スレーブMysqlアーキテクチャ対サーバ/読み取りDBと書き込み用に別個のDB
- 19. int型のC++読み込みと書き込み?
- 20. InputStreamからの読み込みとOutputStreamへの書き込み
- 21. VC++のXMLへの書き込みと読み込み
- 22. PHPファイル読み込みと書き込み
- 23. SQLiteの同時読み込みと書き込み
- 24. ファイルへのC++の読み込みと書き込み
- 25. 共有メモリC++読み込みと書き込みの同期
- 26. Jsonフォーマットへの書き込みと読み込み
- 27. plistファイルへの読み込みと書き込み
- 28. Androidの書き込みと読み込み
- 29. Android:読み込みと書き込み.mp4メタデータ - タグ
- 30. ローカルファイルからの書き込みと読み込みiPhone
Djangoの古いバージョンでは、まったく新しいPostgresql機能を使用して、どんな助けを得ても大変な問題になるでしょう。 –
Django 0.97というものはありませんでした。おそらくあなたは0.96と1.0の間の未知のチェックアウトを実行しているでしょう。なぜあなたはアップグレードできませんか? –