2009-07-18 14 views
4

AmazonのS3とCouchDBでは、数多くの素材を読み込んだだけです。まだ十分ではないかもしれないので、ここに私の質問があります:CouchDBとAmazon S3の共通インターフェイス

どちらのシステムも私にとって非常に魅力的です。 CouchDBはApache License V2を使用して配布され、AmazonのS3では、保存されたメガバイトと生成するトラフィックごとに支払う。したがって、金銭的には少し違いがあります。

しかし、私が理解したところでは、両方のシステムが、(私がCouchDBから理解しているように、基礎となるOSに応じて)任意のサイズの非構造化データを格納するのに役立ちます。

両者の統一されたインターフェースを思いつくのは簡単ではないので、必要に応じて「データストアプロバイダ」を変更するだけで済みます。あなたのコードを変更する必要はありません。

これは技術的に容易に実行可能かどうかわかりませんが、プロトコルについてはまだ詳細には見ていません。しかし、プロバイダの決定をできるだけ遅く延期することは素晴らしいことです。

また、これは統合テストの目的で興味深いかもしれません。例えば、ローカルのCouchDBインスタンスに対してテストし、実稼動のためにS3に対してコードを実行することができます。

私の質問を別の角度から策定する:AmazonのS3とCouchDBは基本的にまったく同じことを解決しているのですか、それともこのことは間違っていますか?

私は、その後に質問を言い換えるてみましょう、Jimの輝かしい答えた後に質問

を更新:

"のCouchDBとAmazonのSimpleDBのための共通インタフェース"

と同じライン以下あなたはCouchDBとSimpleDBの間の共通のインターフェースに問題があると思いますか?

答えて

3

技術的に共通のレイヤーが可能です。しかし、私はこれが理にかなっていると思う。 Couchdbには、「ビュー」として公開されているドキュメントのマップ/リダクション機能が統合されています。 SimpleDBにはそんなことはないと思います。一方、SimpleDBにはCouchdbにはない照会式があります。あなたが開発時にあなたの質問を知っているなら、coureの中でそれらの式をCouchdbのビューとしてモデル化することができます。

一般的な機能は、キーとドキュメントのペアを作成/更新/削除するだけではありません。

11

あなたはポイントがほんのわずかです。 CouchDBはデータベースです。 S3はファイルシステムです。どちらも比較的構造化されていませんが、S3ではキーの下にファイルを格納し、CouchDBではキーの下に(任意に構造化された)データを格納しています。

CouchDBのようなものに対するAmazon Web ServicesアナログはAmazon SimpleDBです。

あなたが探しているようなものは既にRubyに存在し、Monetaと呼ばれています。それはS3にも物事を保存することができます。これは正確にあなたが望むものかもしれません。

4

あなたは間違っています。 S3はファイルシステムではありません。これは、キーバリューストア用のWebサービスです。

Amazonでは、キーを提供しています。はい、そのキーの値は、ファイルを表すデータです。しかし、それがAmazonシステムでどのように管理されるかは、まったく異なるものです。 1つのノード、複数のノード、クラウドフロントを持つ地理的に戦略的なノードなどに格納することができます。そのキーには、システムがファイルをどのように管理するかを示すものは何もありません。キーの値は決して直接ファイルではありません。ファイルを表すデータです。その値が最終的にクライアントが受け取るファイルにどのように解決されるのかは、まったく別物です。

このキーの値は、実際にはファイルを表さないデータです。これはJSON辞書にすることができます。その意味では、S3はCouchDBと同じ方法で使用できます。

だから私は質問がそのポイントを欠いているとは思わない。実際には、CouchDBのデータがノード間で分散されないため、完全に正当な問題です。そしてそれはパフォーマンスを妨げる可能性があります。

Amazon SimpleDBについて語ってみましょう。それは別のものです。条件を混同して、それに基づいてクレームを作成しないでください。

あなたがこの主張に納得しておらず、人々がそれを要求した場合は、S3のJSON辞書を示すコードビットを提供していただきます。

私は他の質問に対するあなたの答えを尊重します。しかし、ここでは、あなたは明らかに間違っており、それらのポイントがどのように正当化されているかを見ることができません。

関連する問題