4

Amazon の S3 と CouchDB で大量の資料を読みました。まだ十分ではないかもしれませんが、ここに私の質問があります:

どちらのシステムも、私には非常に魅力的に聞こえます。CouchDB は Apache License V2 を使用して配布され、Amazon の S3 では、保存されたメガバイトと生成したトラフィックごとに料金が発生します。そのため、金額的にも多少の差があります。

しかし、技術的な観点からは、私が理解していることから、両方のシステムが任意のサイズの非構造化データを保存するのに役立ちます (CouchDB から理解したように、基盤となる OS によって異なります)。

必要に応じて「データストアプロバイダー」を変更できるように、両方の統合インターフェイスを思いつくのがどれほど簡単かわかりませんか? コードを変更する必要はありません。

また、これが技術的に簡単に実現できるかどうかもわかりません。彼らのプロトコルをまだ詳細に調べていません。しかし、プロバイダーの決定をできるだけ遅く延期することは素晴らしいことです.

また、これは統合テストの目的にも興味深い可能性があります。たとえば、ローカルの CouchDB インスタンスに対してテストし、本番環境で使用するために S3 に対してコードを実行できます。

別の角度から私の質問を定式化するには: Amazon の S3 と CouchDB は本質的にまったく同じことを解決しますか、それともこれは非常識で、要点全体を逃しましたか?

更新された質問

ジムの見事な答えの後、質問を次のように言い換えさせてください。

「CouchDB と Amazon SimpleDB の共通インターフェイス」

同じ考え方に従って、CouchDB と SimpleDB の間の共通のインターフェースに問題があると思いますか?

4

3 に答える 3

11

少しだけ、要点がずれています。CouchDB はデータベースです。S3はファイルシステムです。どちらも比較的構造化されていませんが、S3 ではファイルをキーの下に保存し、CouchDB では (任意に構造化された) データをキーの下に保存します。

CouchDB のようなものに相当する Amazon Web Services は、Amazon SimpleDBになります。

あなたが探しているようなものは Ruby 用に既に存在し、それはMonetaと呼ばれます。S3 にデータを保存することもできます。

于 2009-07-18T20:54:46.713 に答える
5

あなたは間違ったジムです。S3はファイルシステムではありません。Key-ValueストアのWebサービスです。

アマゾンはあなたに鍵を提供します。はい、そのキーの値はファイルを表すデータにすることができます。しかし、Amazonシステムでそれを管理する方法はまったく異なります。1つのノード、複数のノード、クラウドフロントを備えた地理的に戦略的なノードなどに保存できます。そのキー自体には、システムがファイルを管理する方法を示すものは何もありません。キーの値が直接ファイルになることはありません。ファイルを表すデータです。その値が最終的にクライアントが受け取るファイルに解決される方法は、完全に別個のものです。

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

ですから、その質問が要点を見逃しているとは思いません。実際、CouchDBのデータはノード間で分散されていないため、これは完全に正当な質問です。そして、それはパフォーマンスを妨げる可能性があります。

AmazonSimpleDBについても話さないようにしましょう。それは別の何かです。用語を混ぜて、それに基づいて主張しないでください。

この主張に納得できず、人々がそれを要求した場合は、S3のJSON辞書を説明するコードビットを提供させていただきます。

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

于 2009-10-19T01:44:49.327 に答える
3

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

それに加えて、共通の機能は、キーとドキュメントのペアを作成/更新/削除するだけです。

于 2009-07-31T22:22:55.117 に答える