10

couchdbについてはよく耳にしますが、それに関するドキュメントをいくつか読んだ後でも、なぜそれをどのように使用するのかがわかりません。

この謎を解いてくれませんか?

4

5 に答える 5

14

これは、非リレーショナルデータベース、オープンソース、分散(インクリメンタル、双方向レプリケーション)、スキーマフリーです。CouchDBデータベースはドキュメントのコレクションです。各ドキュメントは、文字列「キー」と対応する「値」(数値、文字列、リスト、日付など)の集まりです。インデックス、クエリ、ビューを持つことができます。

リレーショナルDBが制限されていると感じた場合(スキーマが硬すぎる、DBエンジンの動作を非常に多数のサーバーに分散できないなど)、CouchDBを検討する価値があります(これは、多くの非最近出現しているリレーショナルDB)。

しかし、すべての作業がリレーショナルデータベースにうまく収まる場合は、それを本番作業に引き続き使用することをお勧めします(ただし、個人の成長と啓蒙のためだけに、非リレーショナルDBを「いじくり回す」ことは時間の価値があります。 、これは、リレーショナルDBから巨大な本番システムを転送することとはまったく異なります!-)。

于 2009-10-12T02:47:05.310 に答える
14

なぜCouchDBを読むべきかを読んでいるようです

于 2009-10-12T02:50:17.863 に答える
1

私は専門家からはほど遠いです(私がやったことはそれをいじってみることだけです...)が、これが私がそれを使うことを考えている方法です:

通常、アプリを設計しているときは、ロードバランサーの背後に多数のアプリサーバーがあります。多くの場合、各ユーザーがそのセッション中に同じアプリサーバーに戻るように、スティッキーセッションがあります。私が考えているのは、couchdbインスタンスを各アプリサーバーに関連付けることです。

そうすれば、そのローカルcouchdbを使用して、ユーザー設定や製品データにアクセスできます。取得したデータがすべて完全に最新である必要はありません。

これで、これらのローカルCouchDBに関するデータが得られました。CouchDBはレプリケーションを許可します。したがって、一定の期間ごとに、データをピアにマージして(X秒ごと?)、最新の状態に保ちます。

全体として、各アプリサーバーには独自のCouchDBがあり、ユーザーはアプリサーバーに接続されているため、競合について心配する必要はありません。レプリケーションがあるため、結果整合性が得られます。

それはあなたの質問に答えますか?

于 2009-10-12T08:05:56.963 に答える
1

ウィキペディアから引用するには

リレーショナル データベース管理システムではありません。行と列にデータを格納する代わりに、データベースは JSON ドキュメントのコレクションを管理します。コレクション内のドキュメントはスキーマを共有する必要はありませんが、ビューを介してクエリ機能を保持します。

CouchDB は、データをテーブル内の行として表すのではなく、データを JSON 形式の「ドキュメント」として格納するという点で、従来のリレーショナル データベースとは異なるデータ ストレージ モデルを提供します。

このデータ ストレージ モデルの違いが、CouchDB を MySQL や SQL Server などの製品と区別するものです。

CouchDB へのプログラムによるアクセスに関しては、コードから HTTP リクエストを送信してアクセスできる REST API を公開します。

この記事が少しでもお役に立てば幸いです。ただし、製品についての知識が不足している可能性があることは承知しています。

于 2009-10-12T03:00:35.610 に答える
1

良い例は、Web サイトまたはアプリケーションで人のデータを処理する必要があると言う場合です。データを設計し、個人の情報を分離したい場合は、リレーショナル テーブルではなくドキュメントにデータを格納する CouchDB が適しています。実稼働環境では、私のユーザーは、約 10% の人についてアドホック データを追加し、別の選択された 5% についてその他の面白い詳細を追加することになる場合があります。リレーショナル コンテキストでは、これは冗長性の負荷になる可能性がありますが、CouchDB の場合はそうではありません。

また、CouchDB が非リレーショナルであるという事実だけではありません。それを重視しすぎると、要点を見失います。CouchDB は Web にプラグインされており、クエリ (GET/PUT/POST/DELETE...) を作成および作成するための HTTP だけで開始できます。RESTful であり、移植性があり、ピア ツー ピア共有に最適です。 . また、「CouchApps」と呼ばれるもので Web アプリケーションを提供することもできます。CouchDB は、デザイン ドキュメントと呼ばれる特別なドキュメントの下に格納されたデータとして、画像、CSS、マークアップを完全に保持します。

非リレーショナル データベースを紹介するこのビデオ コレクションをチェックしてください

于 2009-11-17T18:17:25.593 に答える