3

わかりました。クライアント用の小さなメッセージングサイトがあります。おそらく、コメント後のシステム(PHPで作成)です。今、私のクライアントは、別の既存のコメントにコメントし、いいねやタグ付けなどの機能を追加できるシステムを望んでいます。もう1つのことは、既存のシステムは、スカイプチャットのように使用するため、彼の会社のクライアントによって頻繁に使用されていることです(これにより、書き込みと読み取りが集中的になります)。私のクライアントは、可能な限りオープンソースソフトウェアを使用したいと考えています。だから私はmysqlコミュニティエディションを使用しました。

私の話が多すぎます...そこで、NoSqlデータベースについて1週間調査しましたが、クライアントが機能を追加したい(つまり、列とテーブルを時々追加したりする)ため、要件に合っていることがわかりました。私の目を引いたnosqlデータベースシステムです(他のnosqlデータベースシステムを提案できれば大丈夫です)

  1. MongoDB
  2. CouchDB
  3. Redis

今私の質問は、3つのうちどれが私の状況に適しているかということです。私はそれらの3つのnosqlデータベースについていくつかの悪いことも読みました

  1. MongoDBは2.xバージョンでは安っぽいです
  2. CouchDBが遅い(私のクライアントは遅くしたくない)
  3. Redisはメモリベースであるため、特定の間隔でディスクに書き込むだけです。そのため、間隔の途中でシステムがクラッシュすると、データが失われます

これについて意見を述べたり、今後の状況に対処するのに役立つアドバイスをしたいです。

4

1 に答える 1

2

MongoDBはこれに対する人気のあるソリューションであり、私の個人的な好みです。Mongoの優れている点は(スキーマレスであることに加えて)、ドキュメントをネスト/埋め込みできることです。したがって、たとえば、それぞれが独自のサブコメントの配列を持つサブコメントの配列を持つコメントを持つことができます。その機能を備えた他のデータストアを知りません。それも速いです。

CouchDBにはいくつかの優れた機能がありますが、Mongoは非常によく似ており、はるかに優れています。

Redisは他の2つとは大きく異なります。これは主にmemcachedの代替として使用されます。そのため、主に一時データに使用されます。いくつかの優れたpubsub機能が組み込まれていますが、多くの人がMongoDBとRedisの両方を使用していますが、目的は異なります。

于 2012-06-16T06:43:33.647 に答える