-1

簡単な基本的な質問があります。Facebook、Gmail などの大規模な Web サイトがあるとします。このサイトは、おそらく毎日数百ギガバイトの情報を保存しています。私の質問は、これらのサイトがこの大量の情報をデータベースに保存する方法です (データベース容量のため)。データベースは 1 つだけですか? このサイトのサーバーは 1 つだけですか? 別のサーバーとデータベースがある場合、それらはどのように相互に通信できますか?

4

2 に答える 2

1

彼らは明らかに 1 台のコンピュータを使用していません...

このような大規模サイトの背後にあるシステムは非常に複雑で、複数のデータセンターに分散しています。参照 - http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/

于 2012-11-30T16:32:27.673 に答える
0

これらのサイト (およびこのサイト) で採用されているさまざまなアーキテクチャに関する情報については、このサイトをご覧ください: http://highscalability.com/all-time-favorites/

これらのサイトのほとんどは、NoSQL と呼ばれる戦略を採用しています。つまり、従来の RDBM データベースを使用せず、永続化できる独自のオブジェクト関係フレームワークを作成しています。この戦略は、従来のDBメソッドのパフォーマンスに深刻な影響を与える多くの制約を削除するため、大規模でうまく機能します. ただし、これには通常、信頼性の低下という代償が伴います。これは、これらのサイトのシナリオでは一般的に許容できると考えられています。

ps。あなたの質問が一般的な関心事であれば、心配はいりません。高度にスケーラブルなアプリケーションを構築しようとしている場合は、少し保留して考えてみてください。世界の人口のかなりの割合にサービスを提供する予定ですか、それともおそらく数千人のユーザー向けのサイトを作成していますか。後者の場合、Facebook スタイルのスケーリングは必要ありません。あなたの努力とリソースを他の場所に投資してください。前者の場合は、小規模から始めてシステムを進化させ、ユーザー ベースの拡大に合わせて投資と専門知識を取り入れます。

于 2012-11-30T16:37:54.177 に答える