人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

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


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

●質問者: akahoshitakuya
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MySQL データベース 作成
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● yoshifumi1975
●23ポイント

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

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

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

◎質問者からの返答

ありがとうございます。

ちょっと疑問なんですが

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

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

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

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

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

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


2 ● pahoo
●23ポイント

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


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

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


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

◎質問者からの返答

ありがとうございます。

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

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

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


3 ● chuken_kenkou
●22ポイント

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

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

◎質問者からの返答

ありがとうございます。


4 ● あひる
●22ポイント

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

◎質問者からの返答

ありがとうございます。

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ