高性能のWebサービスを構築します。データベース(またはその他のストレージシステム)、処理言語(スクリプトの有無にかかわらず)、およびWebサーバーデーモンを使用する必要があります。サービスが高速で信頼性の高い方法で実行されるように、システムを大量のサーバーに分散させる必要があります。
信頼性を実現するためにデータを複製すると同時に、大量のデータを処理するために分散コンピューティング機能を提供する必要があります(主に、適切なレベルの応答性を備えた単一のサーバーで実行されても存続しない大規模なデータベースに対するクエリ)。キャッシング技術は主題外です。
どのクラスター/クラウドソリューションを検討する必要がありますか?
シングルシステムイメージ(SSI)、クラスタリングファイルシステム(設計の一部にすることができます)、Hadoop、BigTableクローンなどのプロジェクトがたくさんあります。それぞれに長所と短所があり、「概要」ページには常にソリューションが素晴らしいと書かれています:)主題に対処する何かを展開しようとした場合は、経験を共有してください!
UPD: これはファイルホスティングでもゲームでもありませんが、むしろインタラクティブなものです。 ServerFaultをWebサービスの例として取り上げることができます。小さなデータ、半静的コンテンツ、集中的なデータベース操作です。
興味があるかもしれない人のために:
関連する質問:
Facebookはデータストレージに cassandra を使用しています。
ここ は、YouTubeとGoogleのアーキテクチャとプレゼンテーションのスケーリングに関する記事です: 大規模分散システムの構築からの設計、レッスン、アドバイス GoogleのJeffDeanによる、彼らのやり方を説明しています。
私は、Gist of OPsの要求を、「プログラマーにとっては簡単に理解でき、運用のために簡単に拡張できる成熟したクラウドコンピューティングプラットフォーム」であると自由に考えています。私たちはまだそこにいません。私の知る限り、HTTPリクエストからオーバープロセッシング、永続ストレージまでのチェーン全体にまたがる成熟した市販のシステムはありません。
今日最も近いのは、おそらく OracleのCoherenceまたは 多分テラコッタ のようなパーティション化されたデータグリッドミドルウェアです。 Oracle CoherenceはSquarespaceに適しています およびその他のWebアプリケーション。もちろん、オラクルは、大量のデータを処理でき、正常に機能するパーティション化されたOracleデータベースも喜んで販売します。そして価格...あなたが尋ねる必要があるならばあなたはそれを買う余裕がありません。
安価なものが必要な場合は、オープンソースコンポーネントを使用してある程度自分で行うことを検討しています。 Hadoopファミリ は、最も包括的で成熟したオープンソースの「BigTable」および「Map/Reduce」のようなツールセットです。シャードMySQLはデータストレージで人気があり、今でも 主にDIYソリューション です。 「NoSQL」は今勢いを増していますが、それでも NoSQLの初期 です。
どのクラスター/クラウドソリューションを検討する必要がありますか?
あなたはそれを後ろ向きに持っていませんか?アプリケーションがインターネット規模に達していることを示す証拠は何ですか?現在の規模で観察されたデータアクセスパターンはどのようなものですか?また、チームは以前にどのソリューションと言語を使用したことがありますか?
Hadoop + Hive(またはPIG)は、大量のデータを処理するために構築されています。これは、Yahoo(4000ノードクラスター)、Facebook、eHarmonyなどが使用するものです。
Cloudera.comからブランドパッケージ/サポートを入手するか、Apache.orgで自分で入手できると思います。
セットアップが非常に簡単で、GB-PBのデータクエリを処理する場合に最適です。
EC2(これは彼らのオプションの1つです)でほとんど無料で簡単にテストできます。
あなたが何をしているのかを正確に知らずに答えることは不可能です。それでもかなり難しいかもしれません。
私が読んだ(そして試した)ものに基づくと、Cassandraはかなり良いようですが、それがどのように機能し、その制限が何であるかを正確に理解せずに、デザインの一部と見なすべきではありません。
この種のことは決して簡単なことではなく、さらに、これはStackoverflowにとってより大きな問題です。
私は本当に好きです 完全なAmazonスイート 。
AmazonEC2とAmazonS3およびAmazonSimpleDBまたはAmazonRDSを組み合わせたものがあなたにとって良いオプションかもしれないと私は信じています
JBossクラスターを使用できます。