41

今夜、毎日の技術グーグルでcouchDBに出くわしました。これは、RDBMよりも10倍から100倍優れたパフォーマンス、SQL言語、テーブル、主キーなどからどのように節約できるかについてのプレゼンテーションをたくさん見た後です。自分でやってみることにしました。唯一の問題は、それがどのように機能するかを理解できないようです。

まず、couchDBを使用してWebコンタクトマネージャーをコーディングしたいと思います。このプロジェクトにより、ユーザーは次のような基本的なことを行うことができます。

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

では、どうすれば始められますか?

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

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

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

このようなリンクのページングセットを使用して画面を作成したいと思います

ジョン・ドウ
ジョニー、ハリーデイ
ジョン、スキート

ABCDEF **J**など....<-これらはその名の人を表示するためのリンクです

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


連絡先文書。

{
    type: 'contact',
    firstname: 'firstname',
    lastname: 'lastname',
    email: ['home': 'foobar@foobar.net', 'work': 'foobar@foobar-working.net'],
    phone: ['home': '+81 00 0000 0000'],
    address: []
    ... some other fields maybe ...
}
4

3 に答える 3

24

O'Reilly による近刊の本はオンラインで無料で読むことができます: http://books.couchdb.org/relax/

インストールして遊んでみてください。コマンド ラインで curl を使用して直接 http 要求を実行したり、futon と呼ばれる組み込みの Web インターフェイスを使用したりできます。

データの保存と取得は非常に簡単ですが、最も難しいのは、SQL クエリではなくマップ/リデュース ビューの観点から考えることです。

于 2009-11-05T16:04:36.810 に答える
8

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

于 2009-11-05T13:07:11.083 に答える
6

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

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

于 2009-11-05T15:45:21.007 に答える