CouchDBとCouchbaseの違いは何ですか? 質問する

CouchDBとCouchbaseの違いは何ですか? 質問する

本質的な違いはあるか?カウチDBそしてカウチベース?

ベストアンサー1

CouchDB と Couchbase Server の間には、指摘する必要がある重要な違いがいくつかあると思います。

CouchDBからCouchbase Serverに切り替える利点については、どこでも説明されているのでここでは書きません(CouchDBの将来ダミアン・カッツ著またはCouchbase と Apache CouchDB の比較代わりに、 Couchbase Server にはない CouchDB の機能を列挙してみたいと思います。

CouchDB と Couchbase に関連する名前はどれも非常にわかりにくいので、最も重要な名前の簡単な説明から始めるようにこの回答を更新しました。

名前と混乱

CouchDB、CouchIO、CouchOne、Couchbase、Couchbase Server、Couchbase Mobile、Couchbase Lite、CouchApps、BigCouch、Touchbase、Membase、Memcached、MemcacheDB などがあります。これらはすべて異なっていますが、名前だけではまったく明らかではない形で関連しています。

まず、元 IBM 開発者の Damien Katz が作成したデータベースである CouchDB がありました。Apache プロジェクトになった後、正式名称は Apache CouchDB に変更されました。

CouchIO という会社が Apache CouchDB に取り組むために設立され、後に CouchOne に名前が変更されました (「名前」とは会社名であり、データベース名ではありません)。

CouchOne (旧 CouchIO) は Membase (旧 NorthScale) と合併し、Couchbase という新しい会社を設立しました。Membase (会社) は Membase (同名の製品) を開発しました。Membase は Memcached プロジェクトのリーダー数名によって作成され、Memcached プロトコルを使用していました。CouchOne と Membase の合併後、Couchbase は Membase ソフトウェアの開発を継続し、後に名前を Couchbase Server に変更しました。

現在、Couchbase Server は CouchDB の新しいバージョンであると多くの人が考えていると思いますが、実際は Membase の新しいバージョンです。CouchDB の RESTful API ではなく、Memcached プロトコルが引き続き使用されます。一方、CouchDB は依然として CouchDB であり、Apache プロジェクトとして積極的に保守および拡張されています。

さて、関連する相違点について:

ライセンス

Couchbase Serverは完全にオープンソース/フリーソフトウェア2つのバージョンがあります: コミュニティエディション (無料ですが、最新のバグ修正はありません) とエンタープライズエディション (使用上の制限、機密保持規定、Couchbase Inc. による監査 (ライセンシーの施設で通常の営業時間内に実施されます) など)。その他の用語(これはプロプライエタリソフトウェアに典型的であり、多くの人が受け入れられないと感じる可能性があります)。

CouchDBは、Apache Software Foundationのオープンソース/フリーソフトウェア(条件なし)プロジェクトであり、Apache ライセンス、バージョン 2.0(DFSG 互換、FSF 承認、OSI 承認、GPL 互換、非コピーレフト、商用対応)。

哲学

直接指摘されたことはありませんが、これは実際にはこれら 2 つのデータベースの最も重要な違いかもしれません。なぜなら、これは特定の機能、API、ライセンスだけでなく、分散コンピューティング モデルの基本的な哲学に深く関係しているからです。CouchDB と Couchbase Server は、分散システムとデータベースを構築する哲学がまったく異なります。

によるCAP定理分散データベースでは、一貫性、可用性、パーティション耐性を同時に提供することは不可能です。

CouchDBはAPタイプのシステムです(可用性パーティション耐性を提供します)。

Couchbase ServerCP型システム(ウィキペディア)またはCA型システム(Couchbase 技術アップデート) -どれが正しいでしょうか? コメントをお願いします。

特徴

以下は、Couchbase Server でサポートされていない CouchDB 機能のリストです。

  • いいえRESTfulAPI (ビューのみ、CRUD 操作には使用不可)
  • いいえ_フィードの変更
  • いいえピアツーピアレプリケーション
  • いいえカウチアプリ
  • いいえ布団(別の管理インターフェースも利用可能です)
  • いいえドキュメントID
  • データベースの概念がない(バケットのみがある)
  • CouchDBデータベースとCouchbase Server間のレプリケーションは行われない
  • 明示的な添付ファイルはありません(追加のファイルは新しいキー/値のペアとして保存する必要があります)
  • すべてにHTTP APIがあるわけではありません(Couchbase Server SDKまたはExperimental Client Librariesのいずれかを使用する必要があります)カウチベース開発だから実験はしないカールそしてwget
  • CouchDB APIはありません(メムキャッシュ代わりにAPIを使用)
  • ブラウザからすべてを行うことはできません(サーバー側アプリケーションを作成する必要があります)
  • Web アプリの 2 層アーキテクチャは不可能です (リレーショナル データベースのように、ブラウザーとデータベースの間に位置するサーバー側アプリケーションを作成する必要があります)
  • いいえ最終的な一貫性
  • 完全にではないオープンソース/フリーソフトウェア
  • CouchDB の代替品ではない (Memcached の代替品のように見える)

CouchDB のこれらの機能は、あなたにとって重要である場合もそうでない場合もあり、これらの機能がないことがデメリットであるかどうかは完全に主観的ですが、CouchDB から Couchbase Server に切り替えるかどうかの決定は、これらの違いと、現在の CouchDB デプロイメントにおけるこれらの機能への依存度に基づいて行うべきだと思います。

例えば、CouchDBに興味を持ったらCouchDBの変更フィードMikeal Rogers による NodeCamp の講演や、J. Chris Anderson による優れた CouchApp チュートリアルのいずれかを読んだことがあるなら、Couchbase Server に切り替える場合は、そこで話されていたほとんどすべてを忘れなければならないことに気づくはずです。

そのため、Couchbase Server は Memcached と Membase の進化版 (CouchDB の進化版ではない) のように見えます。そのため、現在 Memchached または Membase を使用している場合は、Couchbase Server は優れた製品であると言えます。CouchDB を最も基本的な方法で使用している場合は、同じ目的で Couchbase Server を使用することを検討できます。ライセンス制限を気にしない場合は、パフォーマンスが向上するかどうかはわかりません。ただし、CouchDB 独自の機能 (変更フィード、CouchApps、2 層アーキテクチャ、ピアツーピア レプリケーションなど) を実際に使用している場合は、それらの機能を忘れるか、CouchDB を使い続けることができます。いずれにしても、次の点を必ず読んで理解してください。CouchDB ユーザー向けの Couchbase への移行切り替えを検討する前にチュートリアルをご覧ください。

人々はしばしば間違った印象を受けます(おそらく次のようなことを読んだ後でしょう)「CouchDB の将来はどうなるでしょうか? それは Couchbase です。」) CouchDBはCouchbase Serverによって廃止された、またはCouchbaseの古いレガシーバージョンであるという印象を持たれています。カウチDBは積極的にメンテナンスされているオープンソースプロジェクトですが、Couchbaseサーバーは完全に別のプロジェクトです(新しいプロジェクトですが、CouchDBの新しいバージョンではありません。互換性もありません)。また、CouchAppを作成するための新しいツールも開発され続けています(例:カンソプロジェクト) であれば、CouchDB がすぐになくなることはありません。

これで混乱が解消されたら幸いです。何か間違っている点があれば訂正してください。

アップデート:

Couchbase Server は実際には Membase Server の新しい名前です (Membase Server はバージョン 1.8 あたりで Couchbase Server に名前が変更されました)。Couchbase 2011年を振り返る:

残念ながら、私たちは多くの潜在的なユーザーをひどく混乱させてしまいました。Membase Server と新しいモバイル製品に加えて、Apache CouchDB のパッケージ化された「ディストリビューション」である Couchbase Single Server も提供しました。それに加えて、CouchDB テクノロジを Membase Server に組み込んだ Couchbase Server 2.0 の開発者プレビューのリリースを開始しましたが、この製品は Couchbase Single Server (または CouchDB) と互換性がありませんでした。[...] Membase Server は、1 月の次のリリースで Couchbase Server 1.8 に名前が変更されます。これは「名前」の混乱を軽減するだけの小さなステップです。当初から計画されていたように、Couchbase Server 2.0 リリース (現在は Developer Preview 3) では、インデックスとクエリの機能が追加されます。Couchbase Server 2.0 には CouchDB プロジェクトの重要なテクノロジが組み込まれますが、CouchDB との上位互換性はなく、「CouchDB のバージョン」として見なされるべきではありません。 [強調追加]

参照:

おすすめ記事