1

Asp.Net MVC 3とC#を使用してWebサイトを構築していますが、Sqlserverにはかなり慣れていますが、サイトをホスト(無料?)する方が安いと想定しているため、MongoDBを使用することを考えています。私のウェブサイトには、ログインしたユーザーのその他のデータとともに、タイトルとコンテンツを含む大量のユーザーレコードが保存されています。コンテンツを全文検索する必要があります。MongoDBがこの要件に適しているかどうか疑問に思います。 。

前もって感謝します !

4

2 に答える 2

3

データ構造によって異なります。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

于 2012-05-25T01:58:02.287 に答える
2

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のようなものを試すことができます。

これのいくつかが役立つことを願っています

于 2012-05-25T01:24:47.817 に答える