複数のサーバーにわたるMySQLデータベース


11

わかりました、本当に私が調べようとしているものを尋ねる方法を知りません。それが私の読書と研究が他の方法で相対的なことを何ももたらしていない理由である可能性が高いです。だから私が現在持っているのは単一のMySQLデータベースであり、遅かれ早かれデータが山積みになることを知っているので、このサーバーのスペースが不足するでしょう。したがって、それが発生する前に、データベースを複数のマシンに分散させて、1つをロードバランシング用に、2つを純粋なストレージファクターにしたいのです。

だから私の質問は、それはどのように機能するのですか?多分私もここで1次元と考えていますが、それがどのように機能するのか理解できません.1つのDBが次のマシンに波及し、次のマシンにデータが増加するにつれて次のマシンに波及しますか、それとも同じスキーマを持つ個々のDBですか?どちらにしても、現在取り組んでいるものを将来証明するためのロジックに入るのはもちろん、頭の中で想像することもできません。データが1台のマシンに対して多すぎる場合、壁にぶつけてイベントでオールストップを引きたくないので。

それで、これで自分を正しい軌道に乗せるには、何を読んで、研究し、方法、実践などしなければなりませんか?


これは私に役立ちました。複数のマシンにまたがる(私の)sqlサービスに関しては、私は初心者です。私はこのスペースに侵入するために尋ねる適切な質問を見つけるのに少し苦労しています。質問と回答の両方を+1します。;)
James T Snell

回答:


8

実際、必要なMySQLクラスタリングを実行できます。

特に1つの機能「自動シャーディング」は、データを複数のマシンに分散します。「オンラインスケーリング」では、dbの実行中にさらに容量が必要な場合に新しいノードを追加できます。かなりクール。こちらからダウンロードできます。

ただし、問題を解決するために考慮できることがいくつかあります。

より大きなハードドライブを入手してください!

少し当たり前のように聞こえますが、xxxGbハードドライブがY年間持続すると安全に言える場合は、試してみる価値があります。ドライブのイメージを取得して新しいドライブにインストールするか、追加のドライブとしてインストールしてMySQLデータファイルを新しいドライブに移動します。<

テーブルを複数のデータベースに分割します。

テーブルを複数のデータベースに分割し、複数のドライブに保存できます。Windows Azureのデータベースにはサイズ制限があり、Microsoftはこのアプローチを推奨しています。また、パフォーマンスも少し向上します。

データをアーカイブできますか?

大きなテーブルを別のドライブにアーカイブできますか?データは本当に必要ですか?それが歴史的で参照のみに必要な場合、別のドライブのファイルに、または別のドライブのデータファイルを指す別のデータベースのアーカイブテーブルに、それをプッシュするアーカイブプロセスをセットアップできますか?


これは本番稼働システムを対象としています。一部のアーカイブは長期にわたって実行できますが、一般に、少数のテーブルによって定期的に呼び出される予定のデータは数テラバイトになりがちです。ただし、クラスタリングのビットは、この件に関してかなりの読書をしなければならないことを大いに助けてくれます。おかげで。残念ながら、大きなHDは出力されませんが、私にとって単一障害点に関する多くのデータは大きなリスクになります。
chris
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.