2011-06-28 2 views
29

私はNode.jsに詳しいようになっており、楽しんでいます。私はWebアプリケーション開発にもっと力を入れています。CouchDB、MongoDB、RedisのどのデータベースからNode.jsを使い始めるのが良いですか?

私はNode.jsを頭で囲み、フロントエンドには現在Backboneを使用しています。私はBackboneを使ってRESTfulなAPIを使ってサーバーと通信するいくつかのアプリケーションを作っています。 Node.jsでは、Expressフレームワークを使用します。

私はサーバー上でシンプルなデータベースが必要なところに到達しています。私はPostgreSQLMySQLDjangoに慣れていますが、ここで必要なのは単純なデータストレージなどです。私はCouchDBMongoDBRedisについて知っていますが、どちらを使うべきかはわかりません。

Node.jsの方が適していますか?リレーショナルデータベースから移動する初心者にとっては、どちらの方が優れていますか?私は選択するためのガイダンスを必要としていますが、これまでに来たことはありますが、このようなデータベースに来るときはわかりません...

+0

私にとっては質問は[モンゴース](http://mongoosejs.com/)対[クレードル](http://cloudhead.io/cradle) – Raynos

+0

@Raynosありがとう、クレードルについては知りませんでした。私は、データベースの文書化されたAPIと直接通信するのではなく、皆さんとその犬がNode JSでこれらのデータベース抽象化を使用していると思いますか? – littlejim84

+0

私はデータベースとの直接の通信で問題を見つけるのは、コールバック地獄で立ち往生するのは簡単です。何かをする前に、4レベルのコールバックを深くネストしています。 APIは単にエレガントではないので、既存の抽象化を使用するか、独自の抽象化を作成する必要があります。 – Raynos

答えて

56

ノードJSに適していますか?

node.jsには特に適していますが、アプリケーションのニーズや使用例に基づいて特定のシナリオに適しています。

Redisは高度なキー値ストアであり、おそらく3つのNoSQLソリューションの中で最速のものです。 basic keyのデータ操作の他に、lists,sets,hashesまたはpub/subのような豊富なデータ構造を、統計やその他のリアルタイムの狂気の中で、本当に便利にすることができます。しかし、何らかのクエリ言語が欠けています。

CouchDBのは、非常に耐久性があり、ドキュメント指向のお店ですMVCC、RESTインターフェース、素晴らしいreplicationシステムとmap-reduce照会を提供しています。これは広範なシナリオで使用でき、RDBMSを置き換えることができますが、アドホックなSQLクエリに慣れている場合は、map-reduceビューで特定の問題が発生する可能性があります。

MongoDBのもCouchDBのような指向ストアを文書化し、おそらく人々は他のNoSQLソリューション上にMongoDBを選択DRBMS置換を探して、なぜ重要な機能の一つであるマップ減らす以外に、それはアドホッククエリをサポートしています。

は、リレーショナルデータベース から移動し、 初心者のためにそれらのいずれかのより良いですか?

あなたがRDBMSの世界から来ているので、あなたはおそらく、その後SQLに使用されているが、私は、Redisのか、CouchDBのとは異なり、それはアドホッククエリをサポートし、クエリメカニズムが似ているので、あなたがMongoDBので行くべき、だと思いますSQLへ。ただし、アプリケーションのシナリオに応じて、RedisまたはCouchDBがより適切な場合があります。

+0

ありがとうございます。それはすばらしい答えです。私は、それぞれについて簡潔で実用的なシナリオを探していました。あなたはそれを素敵にまとめて、消化するようにしました。ありがとうございました。 – littlejim84

+1

カウチはRESTの上に自分自身を公開しています! cmon! – Raynos

+0

@レイノス:そこに行きます。 – yojimbo87

関連する問題