15

投稿 @ http://highscalability.com/amazon-architectureでは、Amazon のアーキテクチャ全般について説明していますが、Amazon S3 がどのように実装されているかを知りたいと思っています。

私の推測のいくつかは

  1. HDFS のような分散ファイル システム http://hadoop.apache.org/core/docs/current/hdfs_design.html
  2. CouchDB http://couchdb.apache.org/のような非リレーショナル永続 DB

Python や PHP などのスクリプト言語を使用して、これに似たものをはるかに小規模に実装することは可能ですか?

4

3 に答える 3

6

Amazon S3 は、Dynamo Paper で説明されているアーキテクチャを使用して実装されています。

http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html

この論文では、コンシステント ハッシュと、その保証が「結果整合性」である方法と理由について説明しています。

Dynamo について彼らが話している競合解決は、S3 のユーザーには公開されていません。これは Amazon のアプリケーションで内部的に使用されていますが、S3 の場合、唯一の競合解決は最後の書き込みが優先されます。

編集: Werner Vogels は、「Dynamo は Web サービスとして外部に直接公開されていません。ただし、Dynamo および同様の Amazon テクノロジは、S3 などの Amazon Web サービスの一部を強化するために使用されています」と述べています。http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html

彼が S3 と Dynamo がコンポーネントを共有していると言っているのではなく、Dynamo 自体が S3 を強化するテクノロジーの 1 つであることを明確に述べていることを強調しておきます。警告を含め、S3 から見たすべてのことは、S3 が認証、アカウンティング、およびユーザーには見えない最終書き込み優先の競合解決を備えた Dynamo の高度な Web サービス ラッパーであると仮定することによって説明されます。

元の質問は、S3 の基盤となるストレージ メカニズムに関するものでした。これは明らかに、HDFS のような分散ファイル システムでも、CouchDB のような非リレーショナル データベースでもありません。Dynamo がこの役割を果たします。

于 2009-04-07T23:24:46.937 に答える
4

Amazon S3 のアーキテクチャもその実装もまだ公開されていません。そのため、任意のサイズのプライベート クラウドを作成する機能を開発するために拡張することはできません。

クラウド ストレージ アーキテクチャのトピックに関する論文がいくつかあります。それらが役立つ場合があります。CACSS: 一般的なクラウド ストレージ サービスに向け

さまざまなテクノロジを組み合わせて、単一の優れたパフォーマンス、高度にスケーラブルで信頼性の高いクラウド ストレージ システムを提供する方法についても詳しく説明します。この調査は、経験の浅いクラウド プロバイダーの知識源として機能し、独自のクラウド ストレージ サービスを迅速にセットアップする能力を提供します。

于 2012-05-22T12:27:47.860 に答える
1

システムがコンテンツを気にせずに「BLOB」としてコンテンツを保存しているにもかかわらず、2に近いのに対し、CouchDBはそうしています。バックエンドストレージは、複数のコピーを格納するために使用されるクラスターのノードにローカルDB(BDB?)を使用します。読み取りは、書き込みと同様に、コピーを持つ任意のノードに送信できますが、競合を取り除くには、書き込みを解決する必要があります。Kevinが述べているように、これは「結果整合性」を保証しますが、いつ、またはどの書き込みが勝つか(外部POVから、内部的に定義されている)を厳密に保証するものではありません。

Dynamoのドキュメントを読むことは、多くの概念を理解するのに役立ちますが、AFAIKの実装は異なります。Dynamoは、他の用途のためにAmazonによって内部的に使用されます。両方のオープンソース実装もあります。興味深いのはProjectVoldemortです。CouchDBも明らかに非常に興味深いものです。

于 2009-04-22T18:27:18.057 に答える