0

これまで、私の「データベースサーバー」は単一のPCであることに満足してきました。

残念ながら、負荷が大きくなりすぎているため、データベースを「分散」する必要があるようです。

それは正確には何を意味しますか?データベースを複数のサーバーに分散させるにはどうすればよいですか?また、ユーザーがクエリを実行し、「実際の」データベースサーバーに負荷を分散する中間サーバーが必要ですか?

これは、データベースの書き込みとデータベースの読み取りでどのように機能しますか?

初心者の101のウェブサイトや本はありますか?

4

2 に答える 2

1

MySQLを使用している場合は、複数のサーバー間でラウンドロビンと負荷分散を処理するMySQLプロキシを調べることができます。他の多くのRDBMSにもこの機能があります。

負荷を分散するもう1つの方法は、データベースを「シャーディング」することです。つまり、複数のシステムでレコードを作成し、それらを取得するシステムを区別/特定する方法があります。これは一般的な方法です。

MySQLサーバーについては、O'reilyによる「HighPerformanceMySQL」をチェックしてください。

于 2011-02-15T06:51:36.993 に答える
1

単一のデータベースのボトルネックは正確には何ですか。それは...ですか

  • 読み取りパフォーマンス
  • 書き込みパフォーマンス

トラフィックの多いWebサイトで使用されるアプローチはほとんどありません。

  • マスター/スレーブモデルを使用します。1つ以上のサーバーを追加し、それらをマスターデータベースのスレーブとして作成します。すべての書き込みはマスターで実行されます。読み取りは、どのスレーブからでも実行できます。これは最も簡単なアプローチです。

  • シャーディング。結合を必要としないエンティティは、別のデータベースサーバーに移動できます。各シャードは、独自のマスタースレーブサーバーを持つことができます。

    http://www.codefutures.com/database-sharding/

  • クラスタリング-OracleRAC、Mysql NDBは、サーバーのセットが単一のユニットとして機能するクラスタリングを提供できます。

    http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-overview.html

于 2011-02-15T09:03:36.610 に答える