web-dev-qa-db-ja.com

CouchDBの実際の例

今夜の毎日の技術Google Googlingでは、どのRDBMよりもパフォーマンスが10倍から100倍優れていること、SQL言語、テーブル、プライマリキーなどから私たちを救う方法について、たくさんのプレゼンテーションを見てcouchDBに出会いました。自分で試してみることにしました。唯一の問題は、それがどのように機能するか理解できないようです。

はじめに、couchDBを使用してWeb連絡先マネージャーをコーディングしたいと思います。プロジェクトは、ユーザーが次のような基本的なことを行えるようにします

  • 連絡先の作成/編集/削除
  • 注文した連絡先のリストを見る
  • さまざまな基準で検索する

それでは、どのように始めるのですか?

ここに私の考えのいくつか

  • 7月、アンなどのユーザーごとにデータベースを作成します
  • それらのDBに、タイプcontactのドキュメントを追加します。ドキュメントは、最初はこのようになります。コード1を参照してください。
  • 作成/編集/削除は簡単です。良いデータベースでPUT、POST、DELETEを実行するだけです。
  • 検索は、dnolenが推奨するようにcouchdb-luceneによって処理されます。

ここで難しい部分があります。map/ reduceの概念全体と、それを使用してSQLで使用したジョブを実行する方法を実際には理解していません。また、ビューでは、ページング、グループ化をどのように処理しますか。

私はこのようなリンクのページングセットで画面を構築したいと思います

 John、Doe 
 Johny、Hallyday 
 Jon、Skeet 
 
 ABCDEF ** J **など....-これらはその名の人を見るためのリンク

それを実現するためにどのビューを作成する必要がありますか。サンプルを提供できる場合は素晴らしいでしょう。


連絡先ドキュメント。

{
    type: 'contact',
    firstname: 'firstname',
    lastname: 'lastname',
    email: ['home': '[email protected]', 'work': '[email protected]'],
    phone: ['home': '+81 00 0000 0000'],
    address: []
    ... some other fields maybe ...
}
40
RageZ

オライリーによる今後の本は、オンラインで自由に読むことができます。 http://books.couchdb.org/relax/

インストールして遊ぶだけです-コマンドラインでcurlを使用するか、futonと呼ばれる組み込みのWebインターフェースを使用して、httpリクエストを直接実行できます。

データの保存と取得は本当に簡単です。最も難しいのは、SQLクエリではなくmap/reduce-viewsの観点から考えることです。

23
user203631

IBMには優れた チュートリアル があり、curlを使用して RESTインターフェース を介して読み取り/書き込みを行います。

8
Brian Agnew

アプリケーションは、CouchDBを使用して非常に簡単に実行できます。ユーザーごとにデータベースがあります。連絡先は、特定のユーザーのデータベース内の単なるドキュメントです。 CRUDはHTTPを使用してデータベースと通信しているだけです。キー(姓、名)を発行するビューを作成して、並べ替えを可能にすることができます。

強力な検索には、couchdb-luceneをお勧めします。

5
dnolen