4

現在、2つのデータベースを同時に使用するWebアプリケーションを構築しています。ユーザーは最初に一般アカウントを作成し、その後それを使用して複数の「サーバー」に複数のキャラクターを作成します。(Facebookでアカウントを作成し、それを使用して他のWebサイトにサインアップすることと考えてください)。

私の現在のデータベース設定は次のとおりです。

  • main_english
  • main_russian
  • server1
  • server2
  • server3

main_englishおよびmain_russianデータベースには、適切な言語で登録したユーザーのセッションおよび一般アカウントデータが含まれています

server1およびserver2データベースは、英語ユーザーの作成された文字データを処理server3し、ロシア語ユーザーの文字データを処理します。

ユーザーは5〜10秒ごとにテーブルを更新します。私の質問は、複数のDBを使用することをどのように効率的に処理できるかということです。

これまでのところ、いくつかのオプションがあります。

  1. 2つのDB接続を開きます。1つは用main_、もう1つは用ですserverが、それらを開くにはかなりの費用がかかることを読みました。
  2. すべてのクエリを変更して、データを更新/選択するDBを明示的に指定します(プロジェクトはまだ若いため、それほど苦痛はありません)
  3. $ dbクラスを変更して、select_db()クエリごとにステートメントを含めるようにします。これは、私の意見では、面倒で非効率的です。

何を提案できますか?おそらく私はserverクエリのために2番目の接続を開くことについて過剰反応していますか?

4

1 に答える 1

1

MySQLは接続処理が高速であることが知られているため、ボトルネックになる可能性はほとんどありません。PDOそうは言っても、またはmysqli拡張機能の持続的接続を調べることができます。

サーバーアクセスとデータモデリングの観点から、アプリケーションについて詳しく知らずに言うのは難しいです。DBスレーブはどのように考慮しますか?レプリケーションラグは大丈夫ですか?

于 2012-07-11T16:19:24.923 に答える