0
私は大きなプロジェクトを考えています。それは別のWebページ(おそらく約2000万人の巨大なMySQLデータベースで動作するはずです、私はMySQLがそのような量のレコードを処理できることを願っています)。しかし、1台のサーバーがそのような負荷を処理することができないため、複数のサーバー間で要求をデータベースに共有する必要があります。私はGoogleやArchive.orgのような大きなプロジェクトがこれをやっているのだろうか?複数のサーバーが単一のMySQLデータベースで作業しています
- MySQLデータベースは、独立したスタンドアロンサーバーにあります。
- MySQLデータベーステーブルには、処理のためにレコードが割り当てられている特定のサーバー名を持つ "server"というフィールドが含まれています。
- 各サーバはMySQLサーバに接続し、そのサーバに割り当てられたレコードでのみ動作します(そのテーブルの「サーバ」フィールドを調べることによって)。
私はこれがnoobメソッドだと思っていますが、私はあなたの意見を知りたいのですが、もっと最適化された形で実装する方法を見てみたいと思います。
チップがあればうれしいです。
ありがとう、 デニス。
よく、私は基本的に20Mのレコードを扱うことは、データベースの最適化、ディスクスペースとプロセッサについてです。主な問題は、ページが永続的な再索引付けの対象となるはずなので、データベースへの複数のサーバーアクセスを管理する方法です。これは多くのリソースを取得する必要があるため、このタスクを処理するには複数のサーバーが必要です。そして、そのような仕事を賢明に組織する方法が問題です。私が上に開発したスキームは、私にとってはいくぶんプロフェッショナルではないようです。ではない?どのように私はより専門的な方法でそれを整理するでしょうか?またはそれは大丈夫です – Dennis
3NFで適切な正規化を実行してください:http://en.wikipedia.org/wiki/Database_normalization 1つのデータベースサーバーが1秒あたり多くの要求を処理できるため、接続プールも役立ちます。スケールアウトする必要がある場合は、データベース複製を使用できます。しかし、多くの同時ユーザーのために大量のデータを処理するデータベースが作られていることを忘れないでください。 MySQLは最高のパフォーマンスを持つ獣ではありませんが、多くの状況でうまくいくでしょう。 –