私はブロガー(blogspot)のようなウェブアプリケーションを開発しようとしています。私はユーザーを持っているつもりです、すべてのユーザーはブログを持っています、ユーザーは彼のブログに投稿することができます、投稿はタグを持っています。他のユーザーは、タグまたはテキストで検索できる必要があります。ブログには設定とテーマがあります。
mongodbを使用するのは良いですか、それとも別のデータベースを提案していただけますか?
私は趣味で似たようなソフトウェアを個人的に開発していて、メインデータベースとしてMongoDBを選んだので、この経験に照らしてお話します。
MongoDBを使用することにしたいくつかの理由:
いくつかの悪い選択は長期的にはパフォーマンスに影響を与える可能性があるため、よく考えたいのはスキーマ設計です。特に埋め込みドキュメントまたは参照の使用に関して。
ツリーも実装が難しい場合がありますが、それほど複雑なことはありません。
あなたが価値があると思うかもしれないいくつかのリソース:
また、MongoDBの概要を知りたい場合は、KyleBankerによる「MongoDBInAction」を読むことを強くお勧めします。
アップデート:
Akshat Jiwan Sharmaが指摘したように、LittleMongoDBBookは非常に優れた無料のリソースです。
ブログシステムはmongoDbの良い使い方ですが、その使いやすさを評価する際に直面した特定の問題がありました。
1)ホストプロバイダー:-MongoDbには2つの有名なホスティングプロバイダー(mongoLabとmongoHq)しかなく、どちらも高額な料金がかかります。GodadymongoDbのような共有ホスティングプラットフォームでは機能しません。そのため、2つの選択肢があります。
a)2つのプロバイダーのいずれかを使用します。
b)やはり非常に高価なVPS(または最初の1年間は無料のamazonのようなクラウドホスティングシステム)を使用します。
2)アプリケーションのサーバーも把握する必要があります。これにより、ホスティングのコストが増加します。
したがって、ブログアプリケーションの場合、ホスティングに費やすお金がない限り、mongoDbはお勧めしません。
別のチェックアウトcouchDbとして、2つの大きな利点があります。
1)アイリスカウチによる無料から安価なホスティング。
2)Couchアプリ。基本的に中間のアプリケーション層を切り取り、データベース自体からアプリケーションをホストできるようにします。
luceneとsolrの利用可能なプラグインの多くを使用して、couchdbの全文検索を簡単に統合できます。個人的には、実装が非常に簡単なように見えるため、ElasticSearchに傾倒しています。
couch dbを学ぶのはそれほど難しくなく、私の意見ではブログに最適なcouchAppsを作成するのは非常に簡単です。
お役に立てれば。