1

一般的なアドバイスが必要ですが、記録のためにjpaを使用します。

使用状況データの統計を生成する必要があります。たとえば、製品ごとのユーザー購入の内訳などです。3つの可能な戦略があります。1)統計が表示されるたびにオンザフライで統計を生成します。2)統計の特定のテーブルを作成します。変更があるたびに更新します3)定期的にオフライン処理を行います

すべてに問題と利点があります。たとえば、コストと最新ではないデータなどです。この分野の経験を持つ人がアドバイスを提供できるかどうか疑問に思いました。私は質問がかなり広いことを知っています、私は必要に応じて私のユースケースを洗練することができます。

4

1 に答える 1

2

私は多くの報告を行いましたが、私が常に知りたい最初の質問は、利害関係者がリアルタイムでデータを必要としているかどうかです。これにより、レポートシステムの考え方や設計方法が確実に変わります。

データのサイズに基づいて、リアルタイムのレポートを作成できると思います。数百万のデータがある場合は、前処理またはデータウェアハウジングを行う必要があるかもしれません(オプション2/3)。

いくつかの一般的な推奨事項:

  1. リアルタイムのレポートを作成する場合は、データベースのコピーを作成して、本番データに対してレポートを実行しないようにすることを検討してください。一部のレポートでは重いクエリを使用できるため、レポートを実行できる他のサーバーに本番データを複製することを検討する価値があります。

  2. レポートには中間構造を多く使用します。ビューやストアドプロシージャなどを記述して、すべてのレポートが単なる巨大で複雑なクエリではないようにします。

  3. レポートがデータベースレベルで実行するには複雑になり始めた場合は、レポートロジックをアプリケーション層に移動してください。私はこれに何度も噛まれてきました。私は純粋にデータベースからのクエリでレポートを書き始めましたが、最終的には複雑になりすぎて、それを機能させるためにフープを飛び越えなければなりません。

  4. リアルタイムで撮影し、必要に応じて古いデータに移動します。データベースは、あなたが思っている以上のことをすることができます。多くの場合、データベース構造に変更を加えて、パフォーマンスを大幅に向上させることができます。

于 2013-01-20T22:01:32.977 に答える