2016-10-06 6 views
-1

私たちはSAAS製品を実行します。私たちの顧客の1人はエンタープライズ・クライアントであり、他の企業は6ヶ月間の請求書レポートの8〜10,000行のデータを生成しています。約300,000行のデータが生成されます。各行には30の列があります。だから、彼らが報告モジュールに行き、6ヶ月のレポートをエクスポートしようとすると、CPUが80%にジャンプするとサーバーが応答せず、プロセス全体が失敗します。結合後にSQLデータベースから300Kをフェッチするなど30分、その後3時間で30列の300K行をExcelに書き出します。私が心配しているのは、40のレポートがあるので、ただ1人のクライアントがサイト全体をダウンさせ、6ヶ月前に戻ってデータをエクスポートし始めると、他のユーザーは恐ろしい経験をします。大量のデータを報告する

SAAS製品でこのような大規模なデータのエクスポートを処理する最良の方法は何ですか?

のTx

+0

Azure SQL DBを使用していますか?もしあれば、どのような層ですか?あなたがプレミアムデータベースを使用している場合、パフォーマンスを向上させるために、列ストア、インメモリoltpを使用しようとしましたか?適切なインデックス作成をしていますか?azure SQLデータベースにはインデックスがないことをお勧めするインデックスアドバイザーがあります。 –

答えて

1

彼らが必要とするならば、彼らはバリバリ停止にDBを遅くすることができますそこから、あなたのエンドユーザーのレポート作成に役立つ、「エンドユーザーのサンドボックスデータベース」に本番データベースを複製に。

このような大量のエクスポートは、本稼動システムから実行しないでください。

+0

エンドユーザーのサンドボックスは、ネットワーク上のローカルまたはホストされているミラー化されたデータベースを意味しますか? – user1763470

+0

どちらも助けになります。しかし、あなたがSaaSを話しているときに、あなたの提供されるサービスに報告が含まれていると思いますが、私はあなたがミラーを主催することを義務づけられます。 – tofro

関連する問題