金銭的な側面を除けば、AmazonのSimpleDBとApacheのCouchDBは次の点でどのように異なりますか
- Java、C++などのプログラミング言語とのインターフェース
- パフォーマンスとスケーラビリティ
- インストールとメンテナンス
金銭的な側面を除けば、AmazonのSimpleDBとApacheのCouchDBは次の点でどのように異なりますか
私はかなりヘビーなSimpleDBユーザーです(私はhttp://www.backupsdb.com/の開発者です)が、現在いくつかのプロジェクトをSimpleDBからCouchに移行しているので、これは両側から見ることができると思います。
1. Java、C++などのプログラミング言語とのインターフェース
JSONを使用して非常に簡単にCouchと通信できるため、Couchを使用すると簡単になります。SimpleDBはもう少し手間がかかります。これは主に、セキュリティの各リクエストへの署名の複雑さと、話中音などの場合に指数バックオフを実装する必要がある低レベルのアクセスによるものです。現在多くの言語があり、これにより多くの点で苦痛が取り除かれます。
2.パフォーマンスとスケーラビリティ
ベンチマークはありませんが、私自身のユースケースでは、CouchDBはSimpleDBよりも優れています。ただし、スケーリングは困難です-SimpleDBはその点で優れており、より多くのことを理解し、周囲を自動スケーリングします。
SimpleDBには、属性の数、属性のサイズ、ドメインの数など、ときどき苛立たしい制限がたくさんあります。多くのアプリケーションの主な煩わしさは、属性のサイズ制限です。これは、たとえば、大きなフォーラム投稿を保存できないことを意味します。 。回避策は、それらをS3などの他の何かにオフロードすることですが、それは時々少し面倒です。明らかに、CouchDBにはその問題はありません。実際、大きなファイルをドキュメントに添付できるという事実は、私を特に惹きつけていることの1つです。
スケーリングに関しては、分散クラスターを提供し、SDBで得られるものに近いbigcouchも検討する必要があります。
3.インストールとメンテナンス
実際、CouchDBを使用するとはるかに簡単であることがわかりました。SimpleDBに使用する必要のあるライブラリによって異なると思いますが、私が始めたとき、Amazonが提供するライブラリはあまり成熟しておらず、オープンソースコミュニティのライブラリにはさまざまな問題がありました。思ったより時間がかかりました。これは今ではずっと良くなっていると思います。
CouchDBは驚くほど簡単にインストールでき、私はCouchDBへのWebインターフェースが大好きです。確かに、それはSimpleDBに対する私の主な批判だろう-Amazonは、他のほとんどすべてのサービス用のWebコンソールを持っているにもかかわらず、それに対するWebコンソールの形式をまだ持っていない。そのため、XMLでデータを抽出し、Webブラウザーからクエリを実行できるようにするために、非常に基本的なBackupSDBを作成しました。これまでに、Amazonが同様の(ただし、より強力で優れた)ことを実行するのを見て、非常に驚いています。彼らはしていません。サードパーティのFirefoxプラグインとそのアプリケーションはたくさんありますが、SimpleDBはそれほど広く使用されていないように感じます。これは、実際には単なる予感です。
4.その他の所見
私が思う最大の問題は、SimpleDBを使用すると、すべてのデータをサードパーティに委託しているため、簡単にデータを取得する方法がなく(そのためには何かを作成する必要があります)、コストが緩やかに上昇し続けることです。コストが強力な専用データベースサーバーに匹敵するようになると、その方法でより良い価値が得られると感じますが、この時点では、移行の頭痛の種は簡単ではありません。クラウド。
私は巨大なAmazonの伝道者として始めました、そしてほとんどのことについて私は今でもそうです、しかしSDBに関しては、Apple TVがSteveの仕事のためだったように、それはAmazonにとって少し趣味のプロジェクトだと感じます。