1

Postgresql バックエンドを備えた Web アプリケーションがあります。簡単にするために、Web サーバー ログを含む単一のテーブルとしましょう (実際には、テーブルと参照が混在しています)。私のユーザーはこのテーブルからのさまざまなデータに対してさまざまなニーズを持っているため、オンデマンドで独自のレポートを実行できる Web フロントエンドを実装することを考えていました (つまり、バックグラウンド ジョブを開始して実行します...一部のクエリは遅くなる可能性があります。同じテーブル、集計などをサブ選択するインスタンス)。

このようなカスタム レポート ツールを実装するためのベスト プラクティスはありますか?

考えられる解決策として、次のシナリオを考えていました。

  • ユーザーがクエリを作成し、必要なフィールドを選択すると、SQL クエリに変換されます
  • SQL は、バックグラウンド ジョブとして実行される「report_randomname479472984」のよ​​うな名前の新しいテーブルにクエリ結果を選択し、レポートに関するメタ情報を含むレポート テーブルにテーブル名を追加することさえあります。
  • Web インターフェイスは、名前が「report_」で始まるすべてのテーブルを使用可能なレポートとして一覧表示するか、使用可能な report_ テーブルに関するメタ情報テーブルをクエリします。
  • ユーザーがレポートを表示すると、Web ページは html テーブルとして構築され、データベースから利用可能な各列は html テーブルの列になります。

これは、SQL バックエンドから動的なオンデマンド レポートを作成する適切な方法ですか? これを行う際に注意する必要があることはありますか (SQL インジェクションを除く)。

各 report_に常に行が存在し、メタテーブル内のすべての行が実際に有効な report_テーブルを指すように、メタテーブルの整合性を強制する方法はありますか?

4

1 に答える 1

3

私が最初にすべきことは、レポート作成、ログ処理、OLAP などの既存のソリューションを検索することです...

それらはたくさんあります。無料と有料の両方。そして、あなたの仕事に適したものを見つけることができると思います。

多くの時間を節約し、クライアントに高品質のソリューションを提供します。

于 2012-11-22T18:42:58.433 に答える