問題タブ [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.

0 投票する
1 に答える
1786 参照

c# - How do I wait for the results to be updated in RavenDB after DELETE

I am using repository pattern with Raven DB. My repository interface is

And implementation is

I have a test that marks all entities for deletion, saves changes and query database to see if the result count is zero

The test fails with sample output

The problem is if I run this test several time, the items actually are being removed (2-3 items at a time). I saw that there is an IDocumentQuery that has WaitForNonStaleResults method.

But I cannot find it in Raven.Client.Lightweight namespace that was installed by NuGet.

To sum up How do I wait until the database is updated and how do I read fresh data. Am I doing something awfully wrong? Thanks for your help!

0 投票する
2 に答える
1889 参照

c# - Raven DB を使用したデータ アクセス アーキテクチャ

Raven DB で使用できるデータ アクセス アーキテクチャにはどのようなものがありますか?

基本的にはインターフェースで永続性を分離したいので、下線ストレージを上位層には公開しません。つまり、Raven DB からのIDocumentStoreまたはIDocumentSessionをドメインに表示させたくありません。

一般的なリポジトリ パターンを実装しましたが、うまくいくようです。ただし、それが実際に正しいアプローチであるかどうかはわかりません。多分私はコマンドクエリの分離か何かに行きますか?

あなたの考えは何ですか?

0 投票する
1 に答える
602 参照

mongodb - sqlServerビューをMongoDBやRavenDBなどのnoSQLデータベースに同期することは可能ですか?

パフォーマンス上の理由から、複雑なsqlserverビューをmongoDBのようなdocumentDBに取り込むことを検討しています。2つを一緒に同期することは可能ですか?またはビューからdocumentDBに各レコード/ドキュメントを取得するための最良のアプローチは何ですか。

これは、Web上でのみデータを直接表示するためのものです。更新、削除、挿入はありません。

* documentDBについて学びたいので、これは実装のための単純なプロジェクトになります。

0 投票する
2 に答える
968 参照

ravendb - クライアント API を使用した ravendb の selectmany の回避策

次のような ravendb クラスがあります。

そして次のようなドキュメント:
ここに画像の説明を入力

次の linq は、selectmany が原因で機能しません。

StartYear == 2009 のすべての学生を取得するにはどうすればよいですか?

0 投票する
4 に答える
1320 参照

c# - 巨大な非テキストベースのデータセットを検索するには?

私が取り組んでいるプロジェクトでは、クライアントには古くて大規模な (テラバイト範囲) RDBMS があります。あらゆる種類のクエリは遅く、スキーマを修正/リファクタリングする時間がありません。最適化が必要な一般的なクエリのセットを特定しました。このセットは、フルテキスト クエリとメタデータ クエリの 2 つに分かれています。

私の計画は、データベースからデータを抽出し、それぞれが特定のクエリ セット用に最適化された 2 つの異なるストレージ システムに分割することです。

全文検索の場合、Solr は最も理にかなったエンジンです。シャーディングとレプリケーション機能により、問題の半分に最適です。

メタデータ クエリの場合、どのルートを使用すればよいかわかりません。現在、「権限のある」RDBMS からのデータの特定のサブセットを表す、非常に非正規化されたスキーマを持つ RDBMS を使用することを考えています。ただし、私のクライアントは、そのようなサブシステムのシャーディングとレプリケーションの欠如、およびそれらの機能を既に含んでいる Solr と比較して、そのような機能を設定することの難しさ/複雑さについて懸念しています。この場合のメタデータは、整数、日付、ブール、ビット、および文字列 (最大サイズは 10 文字) の形式を取ります。

上記のメタデータのクエリに特に役立つ可能性がある、組み込みのシャーディングとレプリケーションを備えたデータベース ストレージ システムはありますか? 優れたクエリ エンジンを提供する、SQL を使用しないソリューションがあるのではないでしょうか。

照らしてください。

追加/応答:

Solr はメタデータに使用できますが、メタデータは揮発性です。したがって、インデックスに頻繁にコミットする必要があります。これにより、検索がかなり速く低下します。

0 投票する
2 に答える
2179 参照

scalability - RavenDB - スケーラビリティの計画

最近 RavenDB を学習していて、それを使いたいと思っています。

スケーリングの準備ができている方法でシステムを構築すること、特にサーバー間でデータをシャーディングする方法でシステムを構築することについて、人々がどのようなアドバイスや提案をしているのか疑問に思っていましたが、それは単一のサーバーで開始し、必要に応じてのみ拡張できます.

単一のインスタンスに複数のデータベースを作成し、それらにシャーディングを実装することはお勧めですか、それとも可能ですか? それを拡張するには、これらのデータベースを複数のマシンに分散させるだけでよいのでしょうか?

私の第一印象は、このアプローチはうまくいくだろうということですが、他の人の意見や経験を聞くことに興味があります.

更新 1:

私はこのトピックについてもっと考えてきました。「後で整理​​する」アプローチの問題は、そのような状況でサーバー間でデータを均等に分散させることが難しいように思われることだと思います。範囲を指定できる文字列キーはありません(AE、FM ..)数字で行います。

これにより、私が見ることができる2つのオプションが残ります。境界で分割すると、1 ~ 50000 がシャード 1 に、50001 ~ 100000 がシャード 2 になりますが、このように古いサイトでは、元のシャードが行う作業が大幅に少なくなります。別の方法として、シャードをラウンド ロビンしてシャード ID をキーに入れる戦略は、ドキュメントを新しいシャードに移動する必要がある場合に問題になり、キーが変更され、キーを使用した URL が壊れます。

そこで、私の新しいアイデアは、コメントを求めて公開しているのですが、最初からバケット システムを作成することです。これは、シャード ID をキーに詰め込むのと同じように機能しますが、1000 などの大きな数から始めて、その間に均等に分散させます。次に、負荷をシャードに分割するときが来たら、バケット 501 から 1000 を新しいサーバーに移動し、1 から 500 をシャード 1 に、501 から 1000 をシャード 2 に移動するシャード ロジックを記述します。 3 番目のサーバーがオンラインになると、別の範囲のバケットを選択して調整します。

私の目には、これにより、最初に作成したバケットと同じ数のシャードに分割でき、量と年齢の両方の点で負荷が均等に分散されます。キーを変更する必要はありません。

考え?

0 投票する
1 に答える
394 参照

ravendb - RavenDB のドキュメント構造

授業がある

活動履歴には多くの要素が含まれる場合があります。

UserActivity を履歴付きで RavenDB に保存したいと思います。しかし、DB から初めて UserActivity を取得するとき、たとえば、ActivityHistory には最後の 10 個のアイテムが必要であり、他のアイテムをロードするか、コレクションに新しいアイテムを追加して保存する必要があります。

どうすればそれができますか?

私が理解しているように、UserActivity と履歴アイテムを別々に保存する方法は 1 つしかありません。

0 投票する
2 に答える
4324 参照

.net-4.0 - エラー FileAccessDenied (JET_errFileAccessDenied、ファイルにアクセスできません。ファイルはロックされているか使用中です)

統合モードで.Net 4を実行しているサイトに Raven DB をデプロイしようとしています (サイトは以前、ASP.Net MVC 3 サイトをホストするために使用されていました。

私の設定ファイルはこれです:

ただし、例外は次のとおりです。

私は自分のホストに連絡し、App_Data への読み取り/書き込みアクセス権があることを確認しました。また、そこにファイルを作成するコードを書いて、これを自分で確認しました。

私のホストは、私の問題はデータストアの二重初期化が原因である可能性があることをほのめかしました-それが何を意味するにせよ。

ここで解決策を教えてもらえますか?

UPDATE 2011-05-18現在http://builds.hibernatingrhinos.com/download/2004 で入手可能な RavenDB-Build-360 を使用しています。IIS 7.5 で実行するためにhttp://ravendb.net/documentation/docs-deployment-iisのインストール手順を使用しています。ただし、独自のローカル IIS を使用する代わりに、 /Web-folder の内容を自分のホストにコピーするだけです。これは、/bin-folder、web.config、および SilverLight XAP ファイルを意味します。だから私は自分の道をデバッグすることはできません。

最初の行 (WebDAV モジュールについて) に気づいていませんが、できるだけ早くホストに確認します。
Raven DB はこれにどのように依存していますか?

0 投票する
2 に答える
2581 参照

mongodb - Raven DB から SQL サーバー (NoSQL DB からリレーショナル DB)

NoSQL データベース データ (Raven、Mongo、Couch) を SQL サーバー データに変換/移行する方法はありますか? 一部の NoSQL データベースにはレポート ツールがないため、データを SQL に移動し、それを直接処理できれば (データ分析、クエリ、レポートのニーズのためだけに) より簡単になります。コメントを歓迎します。

0 投票する
4 に答える
1708 参照

c# - RavenDbのデフォルトIDジェネレーターで連続IDを取得する方法

新しいプロジェクトのために RavenDB を評価しています。

100 個のエンティティを作成すると、次のような素晴らしい連続 ID が得られます。

  • 投稿/1
  • 投稿/2
  • 投稿/3
  • ...
  • 投稿数/100

しかし、(アプリの再起動後に) 新しい DocumentStore インスタンスを作成し、新しいエンティティを作成しようとすると、次のような奇妙な ID が得られます。

  • 投稿/1025
  • 投稿/1026
  • 投稿数/1027

助けはありますか?

注:ASP.NET MVC 3で組み込みサーバーを使用しています