Asp.Net MVC 3とC#を使用してWebサイトを構築していますが、Sqlserverにはかなり慣れていますが、サイトをホスト(無料?)する方が安いと想定しているため、MongoDBを使用することを考えています。私のウェブサイトには、ログインしたユーザーのその他のデータとともに、タイトルとコンテンツを含む大量のユーザーレコードが保存されています。コンテンツを全文検索する必要があります。MongoDBがこの要件に適しているかどうか疑問に思います。 。
前もって感謝します !
Asp.Net MVC 3とC#を使用してWebサイトを構築していますが、Sqlserverにはかなり慣れていますが、サイトをホスト(無料?)する方が安いと想定しているため、MongoDBを使用することを考えています。私のウェブサイトには、ログインしたユーザーのその他のデータとともに、タイトルとコンテンツを含む大量のユーザーレコードが保存されています。コンテンツを全文検索する必要があります。MongoDBがこの要件に適しているかどうか疑問に思います。 。
前もって感謝します !
データ構造によって異なります。MongoDBは、ドキュメント指向のDBです。「プレーンデータ構造」については、MSSqlServerよりも高速です。しかし、それでも「結合」機能には大きな問題があります。
.NETプロジェクトに適したNo-SQLデータベースを試してみたい場合は、RavenDBも適しています-http://ravendb.net/ Mongoと同じくらい高速で、ドキュメントデータベースの問題はあまりありません。 (たとえば、結合を操作するのに非常に良い方法があります)。だが!それは無料ではありません:)
全文検索を実装する必要がある場合、Solrhttp ://lucene.apache.org/solr/は非常に興味深く便利な手段です。Solr.NETライブラリを使用するいくつかのプロジェクトで使用しましたhttp://code.google.com/p/solrnet/グッドスタートチュートリアルはこちら-http: //crazorsharp.blogspot.co.nz/2010/01/full-text -search-using-solr-lucene-and.html
MongoDBでの私の経験から、考えるべきことがいくつかあります。
MongoDBはドキュメントベースのデータベースであり、10genの標準ドライバーを使用して、POCOクラスを直接シリアル化するか、データを型なしドキュメントとして保存できます。
これにより、SQL Serverの場合のようにデータを正規化することなく、ユーザーストアに関する完全なレコードを保存して取得できるため、非常に柔軟性があります。
とはいえ、MongoDBの全文機能はSQL Serverの機能と比較して非常に制限されています。Mongoで基本的な全文検索を実行する方法の詳細については、以下のリンクを参照してください。
http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo
MongoDBは、DBをメモリに格納しようとするため、データを取得するときに実際に機能します。これにより、MongoDBからデータをすばやく取得できます。
10genはまた、Linqサポートをドライバーに直接実装しているため、開始時にMongoへのクエリが少し簡単になります。また、10genドライバーの上にあり、Linqサポートの点で少し進んだFluentMongo(https://github.com/craiggwilson/fluent-mongo)を使用することもできます。
私のMongoDBでの経験は非常に前向きであり、将来的に他のクライアントプロジェクトで使用する予定です。
ホスティングでは、DBサービスを開始してバックアップを管理できるように、少なくともコンソールアクセスが必要になると思います。失敗すると、mongodbのオンラインホスティングを提供しているように見えるhttps://mongohq.com/homeのようなものを試すことができます。
これのいくつかが役立つことを願っています