私はRavenDBを初めて使いましたが、現在のシナリオのデータをモデル化する最良の方法を考えています。データは次のようになります。各ゲームの開始時にRavenDBでフットボールの試合の統計をモデル化する方法
Game
- Teams
- Team 1
- list of players
- Team 2
- list of players
- Events
- Event 1
- type: Pass
- teamId
- PlayerId
- Event 2
- type: Goal
- teamId
- PlayerId
我々は、ゲームの全体的な情報(例えばチーム、会場など)を取得し、数分ごとに、私たちは、イベントの最新リストを取得します。 また、特定のプレーヤーのデータをクエリできるようにする必要があります(プレーヤーの通過回数など)
私は1つのドキュメントとして保存しますか?イベントを別々のドキュメントに分割しますか? GameEvents? 3番目のシナリオはありますか?
この方法を使用する場合は、*ほとんどの統計情報について、1つのゲームを表すドキュメント全体を読み込み、メモリ内で処理してから文書に書き戻すほうがよいでしょう。複数のゲームにまたがる統計情報については、良い考えのように聞こえるMap/Reduce –
Mattを調べるとよいでしょう。プレーヤーのためにパスを計算したいのであれば、私はゲームのドキュメントを読み込み、計算してもう一度保存するだけです。 – marto
@Matro、これはアイデアだが、これを何度もやっている間にオーバーヘッドがあるので、Patchingが助けになるかもしれない。 http://ravendb.net/docs/client-api/partial-document-updates –