2011-07-09 11 views
4

CouchDBはRESTful APIを実装しているので、同じタイプのすべてのドキュメントを自分のデータベースに入れたいとは思いませんか?CouchDBのRESTful API:ドキュメントを構造化するには?

例えば、

POST http://localhost/users 
GET http://localhost/users/1 
PUT http://localhost/users/1 
DELETE http://localhost/users/1 

POST http://localhost/threads 
GET http://localhost/threads/1 
PUT http://localhost/threads/1 
DELETE http://localhost/threads/1 

これらをすべて1つの大きなデータベース(http:// localhost/my_app)に入れるのではなく、

100%RESTfulアプローチでは、前者がより正確であるとは限りませんか?

答えて

11

複数のデータベースを使用する主な理由は、ボリュームのためにデータを分割することです。特に新しいビューや圧縮などが作成されます。論理的に分割する理由はありません。

単純な真実は、DBが気にしないことです。また、URLはありません。 RESTもしません。ビューを使用してソファ内で論理的に似たURL構造を簡単に作成することができます。また、不快感を感じる場合は、内蔵のURL書き換え機能をCouchで使用できます。

RESTはアーキテクチャを気にします。 RESTは一意のURLを使用しているとみなします。 RESTは、ハイパーメディアを使用してURLを介して他のリソースへのリンクを提供しているとみなします。 RESTはユビキタスメディアタイプを使用しているとみなしています。かなりのURLは、RESTが気にしているもののリストには欠けています。

RESTを実行する場合は、アーキテクチャとメディアタイプに焦点を当てます。 URLはほとんど自分自身を処理します。

関連する問題