問題タブ [ravendb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lucene - Where()を使用してRavenにクエリを実行すると、最初の128個のドキュメントのみがフィルタリングされますか?
私たちはRavenを使用してログインを検証し、人々が私たちのサイトにアクセスできるようにしています。
私たちが見つけたのは、これを行うと次のようになります。
クエリは、Ravenのドキュメントの最初の128個のドキュメントのみをフィルタリングします。私たちのデータベースには数千があります、それであなたの電子メールがたまたま最初に返された128にない限り、あなたは運が悪いです。
Ravenのサンプルコードもネット上で出会ったサンプルコードも、Skip()とTake()を使用してループを実行してセットを反復処理することはありません。
- これはレイヴンの望ましい行動ですか?
- 高度なLuceneクエリを使用しても同じ動作ですか?すなわち; 高度なクエリの動作は異なりますか?
- 以下の解決策は適切ですか?少し醜いですね。:P
私の解決策は、null以外の結果が発生するまですべてのドキュメントのセットをループしてから、中断して戻ることです。
}
編集:
以下の修正を使用しても、クエリパラメータがRavenDBインスタンスに渡されません。理由はまだわかりません。
結局、私はlinqクエリの代わりにAdvanced Lucene Syntaxを使用しており、期待どおりに機能しています。
mongodb - MongoDb/CouchDb/RavenDb の選択 - パフォーマンスとスケーラビリティに関するアドバイス
読み取り/書き込みが集中するアプリケーション向けに、フェイルオーバー クラスタリングを使用したドキュメント データベース ストレージ ソリューションを検討しています。
1 秒あたり平均 40K の同時書き込みがデータベースに書き込まれます (ピーク時には 70,000 に達する可能性があります)。ほぼ同様の数の読み取りが発生する可能性があります。
また、データベースが新しく書き込まれたレコードについて通知するためのメカニズムも必要です (データベース レベルでの何らかのトリガー)。
ドキュメント データベースの適切な選択と関連するキャパシティ プランニングに関して、どのオプションが適切でしょうか?
更新しました
期待の詳細。
- 平均して、3 ~ 4 のデータベース/ドキュメント コレクション全体で 1 秒あたり 40,000 (40K) の挿入 (新しいドキュメント) の数が予想されます。
- ピークは 120,000 (120K) の挿入に達する可能性があります
- インサートはすぐに読めるようになるはずです - ほぼリアルタイム
- これに加えて、1 秒あたり約 5000 の更新または削除が予想されます
- これに加えて、データにアクセスする 500 ~ 600 の同時クエリも予想されます。これらのクエリと実行計画はある程度わかっていますが、たとえば週に 1 回程度更新する必要があるかもしれません。
- システムは、ストレージ側でフェールオーバー クラスタリングをサポートする必要があります
wcf - ravendb、castle IoC、Wcfファシリティ-doc session liefstyle
IISでホストされているwindsorioc、wcfファシリティセットアップの下でのレイヴンドキュメントセッションおよびストアの推奨ライフスタイルは何ですか?
私はこのエラーを見続けます:
これが私の設定です:
sql-server - Raven DB を使用して SQL Server のインデックスを置き換えるのはどうですか?
私は、MS SQL サーバーで大きなテーブル (1000 万レコード) を使用するプロジェクトに取り組んでおり、非常に複雑なフィルター (10 列以上) を使用してそのテーブルをクエリし、ユーザーの選択に応じて異なるフィールドで結果を並べ替える必要があります。 UI。
ストアド プロシージャ内で一時テーブルを使用して必要なすべてのフィルタリングと並べ替えを行う必要があるため、クエリの実行が少し遅くなります。
Raven DBのクエリのフィルター部分で使用するテーブルの一部をロードするプロセスを使用できると考えています。実際、SQLのストアドプロシージャとインデックスを、クエリできるRaven DBレイヤーに置き換えます。
ストアド プロシージャが遅い理由を調査し、最適化を行うためにもっと時間を費やすべきだと思いますか、それとも Raven DB のアプローチが私にもっと利益をもたらすと思いますか?
ravendb - ドキュメント データベース - 多対多
Users
との間の多対多の関係の動作を模倣しUserGroups
、ユーザーが属する UserGroup の ID を配列内のユーザー ドキュメントに格納するとします。UserGroup を削除すると、その UserGroup の ID はユーザー ドキュメントの配列に残ります。配列に古くて役に立たない値が保持されているということは、どの時点でもパフォーマンスに影響しますか?
c# - RavenDBを使用したリポジトリとサービスパターンの実装
RavenDBプロジェクトにリポジトリとサービスパターンを実装するのにいくつかの問題があります。RavenDBではクエリにいくつかのインデックスを使用しているため、主な懸念事項はリポジトリインターフェイスがどのように見えるかです。
親IDが1に等しいすべてのアイテムをフェッチする必要があるとします。1つの方法は、IQueryable List()を使用してすべてのドキュメントを取得し、where句を追加して、親IDが1に等しいアイテムを選択することです。これは悪い考えのようです。 RavenDBではインデックス機能を使用できないためです。したがって、他のアプローチは、リポジトリにIEnumerable Find(string index、Func predicate)のようなものを含めることですが、これも十分にジェネリックではなく、RavenDBから変更する場合にこのメソッドを実装する必要があるため、悪い考えのようです。一般的なSQLサーバーに。
では、ジェネリックリポジトリを実装しながら、RavenDBのインデックスのメリットを享受するにはどうすればよいでしょうか。
c# - Ravendb mapreduce 複数のフィールドによるグループ化
ストリーミング ビデオを含むサイトがあり、過去 1 週間、1 か月、1 年間 (ローリング ウィンドウ) で最も視聴されたビデオの 3 つのレポートを表示したいと考えています。
ビデオが視聴されるたびにドキュメントを ravendb に保存します。
これら 3 つのレポートの生成を最適にサポートするインデックス / mapreduces を定義する方法がわかりません。
次のマップ/リデュースを試しました。
ただし、このクエリはエラーをスローします。
エラー: 「DateViewed はインデックス化されていません」
最終的に、次のようなクエリを実行します。
OrderBy が間違っているため、これは実際にはコンパイルされません。ここでは Count は有効なプロパティではありません。
ここで何か助けていただければ幸いです。
c# - RavenDB セッション > 30
保存したいアイテムのリストを保存しようとすると、カウントが 30 を超えているというエラーが表示されます
このセッションで許可されているリクエストの最大数 (30) に達しました。Raven は、早期警告システムとして、セッションで許可されるリモート呼び出しの数を制限します。セッションは短命であることが予想され、Raven は Load(string[] keys) のような機能を提供して、複数のドキュメントを一度にロードし、バッチ保存します。
これを回避するにはどうすればよいですか? このエラーの問題は、ロードしていないことです。ドキュメントを保存しようとしています。どんなアイデアでも大歓迎です。ありがとうございました
c# - C# を使用して OrientDB を操作することは可能ですか?
OrientDBと C#の実装、API、または例はありますか。私が OrientDB を見ている理由は、Graph と Document の組み合わせであることがわかったのは OrientDB だけだからです。
これをどのように試すべきかについての提案。
私の次の選択肢は RavenDB ですが、それが結合またはリンクされたドキュメントをサポートしているかどうかはわかりません。
何かご意見は...
c# - 組み込みRavenDBでの「トランザクションストレージタイプが見つかりませんでした」エラー
http://ravendb.net/tutorials/hello-worldにあるコードに基づいて、RavenDBの簡単なテストを正常に実行できました。
次に、Embedded Mannerで実行しようとしましたが、次のエラーが発生し続けます。
設定:
ターゲットフレームワークは.NETFramework4です。
プロジェクトに次の参照を追加しました。
- \ RavenDB-Build-309 \ EmbeddedClient \ Raven.Client.Embedded.dll
- \ RavenDB-Build-309 \ Client \ Raven.Client.Lightweight.dll
- \ RavenDB-Build-309 \ EmbeddedClient \ Raven.Storage.Esent.dll
- \ RavenDB-Build-309 \ EmbeddedClient \ Raven.Storage.Managed.dll
コードは次のとおりです。
私はこれを数日間検索してみましたが、いくつかの異なるバリエーションも試しました。何が起こっているのかわかりません。