2012-04-23 18 views
1

誰でもデータベースミラーリング、特にmysqlを教えてもらえますか?Mysql for Javaアプリケーションを使用したデータベースミラーリング

私はいくつかの質問

  1. を持って、私はそれらのデータベースへのJavaアプリケーション(マスターDBとスレーブDBS)の接続を作成する必要がありますか?それに接続文字列がありますか、それとも単なるプログラマブルな部分ですか?

  2. また、すべてのSQL Transactionを複製して、すべてのデータベースの移動をマスターとスレーブの両方に反映させる必要がありますか?

  3. マスタdbがダウンしていて、唯一の接続がスレーブの場合、マスタがダウンしている間に変更されたレコードに対してmaster db enableを更新するにはどうすればよいですか?

  4. スレーブdbがローカルホスト上にあり、マスタがサーバマシン上にあるか、または1つがマスタでスレーブが2つのサーバマシンがありますか?

  5. どのように私はこれらの2つのdatabse(スレーブとマスター)に私のJavaアプリケーションを使用してどのタイプの接続を使用してマスターが自動的にスレーブ接続が使用されるダウン接続するつもりです。

答えて

2

1)私は、これらのデータベース(マスターDBとスレーブDBS)へのJavaアプリケーションの接続を作成する必要がありますか?それに接続文字列がありますか、それとも単なるプログラマブルな部分ですか?

はい。通常は、データベースへの書き込みが必要な場合にのみ、マスターへの接続を作成します。読み込みジョブの場合、1つ以上のスレーブへの接続を使用するので、マスターはその負荷を処理する必要がありません。これはプログラム的に行われ、接続文字列はありません。 また、this linkを見ると、MySQLプロキシを使用してアプリケーションに対して透過的に読み取りと書き込みを分割できます。これは概念の証明に過ぎないことに注意してください

2)私のすべてのSQLトラザクションを複製して、すべてのデータベース移動をマスタとスレーブの両方に有効にすることはできますか?

いいえ、mysqlレプリケーションはこれを行います。

3)マスタdbがダウンしていて、唯一の接続がスレーブの場合、マスターがダウンしている間に変更されたレコードに対してmaster db enableを更新する方法を教えてください。

短い答えはできません。高可用性の読み込みが必要な場合は、MySQL Clusterを参照してください。複数のマスター構成も同様に機能する可能性があります。

4)スレーブdbがローカルホスト上にあり、マスタがサーバマシン上にあるか、マスタが1台でスレーブが2台あるサーバマシンがありますか?

マスターマシンとスレーブマシンは、別々のサーバーに置くことができます。あなたが 'localhost'の意味であれば、エンドユーザのマシンにスレーブを置くことは考えにくいでしょう。

5)どのように私はこれらの2つのdatabse(スレーブとマスター)に私のJavaアプリケーションを使用してどのタイプの接続を使用するのですか?

すべての読み取りがスレーブ(またはスレーブ)からのものである場合、マスタを失っても読み取りは中断されず、書き込みのみが中断されます。スレーブが1つしかなく、スレーブがダウンした場合は、オプションで、マスター接続を使用して読み込みを行うことができます。

+0

ガードの説明。 – Prathap

関連する問題