3

最近では無数の NoSQL データベースが利用できるようです。

  • CouchDB
  • モンゴDB
  • カサンドラ
  • Hadoop

これらのツールと、memcached の代替として機能する Redis などのツールの間にも境界があります。

手を振ったり、あまりにも多くの流行語を投げたりすることなく、私の質問は次のとおりです。

どのツールが自分のプロジェクトに最も適しているかを賢く判断するにはどうすればよいでしょうか? プロジェクトは、これに対する答えが主観的である場合と十分に類似していますか? たとえば、Ruby は Python よりも優れているか、Python は Ruby よりも優れていますか? それとも、それぞれが異なる問題を解決するという点で、ここではリンゴとオレンジについて話しているのでしょうか?

この新しいトレンドについて自分自身を教育する最善の方法は何ですか?

4

4 に答える 4

3

おそらく 1 つの考え方として、プログラミングは最近、すべてに 1 つの汎用言語を使用することから、ほとんどのものに汎用言語を使用し、さらに適切な部分にはドメイン固有言語を使用するように進化したと考えられます。たとえば、Lua を使用して、ゲーム内のキャラクターの人工知能をスクリプト化することができます。

NoSQL データベースも同様かもしれません。SQL は、最も長く広く採用されている汎用データベースです。NoSQL は多くのタスクを処理するために押し付けられる可能性がありますが、プログラマーは、より適切な場合にドメイン固有のデータベースとして NoSQL を使用し始めています。

于 2010-09-08T03:19:27.763 に答える
2

あなたが名前を挙げた4つの主要なプレーヤーは、まったく異なる機能セットを持ち、異なる優先順位で異なる問題を解決しようとしていると私は主張します.

たとえば、私が知る限り、Cassandra (および Hadoop を想定しています) は、大規模なインストールに重点が置かれています。

MongoDb は、比較的強力なクエリ機能を提供することで、従来の SQL サーバーに代わるより優れたスケーリングの代替手段となることを試みています。

CouchDB の焦点は、比較的小規模 (まったくシャーディングせず、「のみ」レプリケートする)、高い耐久性、およびデータの簡単な同期です。

詳細については、 http://nosql-database.org/を参照してください。

私はあなたとほぼ同じ問題に直面しています。すべての解決策を詳細に検討するための実際の代替手段はないと思います.

于 2010-09-08T06:10:04.907 に答える
1

このサイトをチェックしてください: http://cattell.net/datastores/ 、特に下部にリンクされている PDF (CACM Paper)。後者には、さまざまなデータ ストア ソリューションの相対的な利点に関する優れた議論が含まれています。

于 2010-12-30T17:40:24.283 に答える