MYSQLの負荷分散についてお聞きします。


例えばデータベースAに500Mの容量があったとします。
※各テーブルの容量は無視して

で、データベースを複数作成し

A:200M
B:150M
C:150M

という容量にテーブルをそれぞれ分けます。


こういう時ってデータベースを三つ作ったわけですが
負荷分散になるのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2008/06/06 16:28:32
  • 終了:2008/06/13 16:30:02

回答(4件)

id:yoshifumi1975 No.1

yoshifumi1975回答回数58ベストアンサー獲得回数102008/06/06 16:49:52

ポイント23pt

物理的にHDDが分かれていたらディスクのI/Oの負荷分散になりますが、1つのHDDだと負荷分散にはなりません。

結局同じHDDから読み込みますので。

もう1つHDDを購入して、ログの書き込み先を別のHDDにするなどすると、I/O負荷分散になります。

id:akahoshitakuya

ありがとうございます。

ちょっと疑問なんですが

レプリケーションで書き込み系と読み込み計を分けると

負荷分散になると聞きますが

このときマスターとスレーブは同じHDD内で行っているのですよね?

そうなると質問のようにデータベースを分けると

負荷分散できるのかなーと思ったんですが

ちょっと思い違いだったのかな。

2008/06/06 17:25:31
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/06/06 16:57:12

ポイント23pt

「データベース」の意味が曖昧なのですが、一般的な意味での「負荷分散」にはならないと思います。


データベースの構成要素として、実際にデータを格納する「ストレージ」と、格納したデータを管理する「DBMS」(DataBase management System)の2つがあります。

一般的にデータベースの負荷がかかるのはDBMSの部分です。したがって、負荷分散では、DBMSを複数並列動作させる必要があります。MySQLで「MySQL Cluster」と呼ばれているものが、これに相当します。


「データベースを三つ作った」と言われているのは、おそらく、「ストレージ」を3つ作ったという意味で、DBMSは単一だと思いますので、負荷分散にはあたらないと思います。

id:akahoshitakuya

ありがとうございます。

そしてあいまいで申し訳ないです。

「MySQL Cluster」の情報ありがとうございます。

勉強になりました。調べてみます。

2008/06/07 11:02:38
id:chuken_kenkou No.3

chuken_kenkou回答回数722ベストアンサー獲得回数542008/06/06 19:45:12

ポイント22pt

データベースやログを格納するHDDを分けたり、サーバ自体を複数立ち上げるといったことをしなければ、

効果的な負荷分散にはなりません。

id:akahoshitakuya

ありがとうございます。

2008/06/07 11:04:10
id:ahirusan No.4

あひる回答回数229ベストアンサー獲得回数32008/06/06 21:29:59

ポイント22pt

負荷分散にはなりません。また、レプリケーションを使用して書き込み系と読み込み系とを分ける場合も、DBMS自体を別にする必要があります。通常は別マシンにレプリケーションします。

id:akahoshitakuya

ありがとうございます。

結局別マシンが必要なんですね。

まずはmysqlのチューニングからしっかりやったほうが良さそうですね。

2008/06/07 11:05:11

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません