ホームページ  >  記事  >  バックエンド開発  >  PHP注文データ分析問題

PHP注文データ分析問題

WBOY
WBOYオリジナル
2016-12-01 00:56:511528ブラウズ

時間が経つにつれて、注文テーブルにはますます多くのデータが追加され、返金率、支払い率、関連する商品など、1か月、四半期、さらには過去1年間のデータを分析する必要があります。関連するパラメータですが、このようなリアルタイム計算の結果はタイムアウトまたはメモリ オーバーフローのいずれかになります。この問題を解決するには PHP を使用してください。

返信内容:

時間が経つにつれて、注文テーブルにはますます多くのデータが追加され、返金率、支払い率、関連する商品など、1か月、四半期、さらには過去1年間のデータを分析する必要があります。関連するパラメータですが、このようなリアルタイム計算の結果はタイムアウトまたはメモリ オーバーフローのいずれかになります。この問題を解決するには PHP を使用してください。

前日のデータについては、毎日定期的に収集して処理し、データベースに保存し、時間に応じてスペースを変更することができます。この場合、リアルタイム データは当日についてのみ確認する必要があります。効率が大幅に向上し、サーバーへの負荷が大幅に軽減されます。また、頻繁な更新によるユーザーのストレスを防ぐためにキャッシュを実行することもできます。

この質問は非常に幅広く、基本的に言語とは何の関係もありませんが、一般的には次の 2 つの点から始めることができます

  1. オフライン データベースを設定します。クエリはメイン データベースではなく、オフライン データベースでチェックする必要があります (データをエクスポートするかマスター/スレーブにするかは、特定の状況によって異なります)

  2. 頻繁に必要なデータについては、1 つ以上のデータ分析テーブルを設計し、必要なディメンションに従って定期的に実行する必要があります。最初に履歴データを実行するだけで、その後は新しく生成されたデータを実行するだけです。データを分析するだけです

さらに他のツール(ES、Hadoopなど)の導入や、データ分析関連プロダクトの形態の再設計も必要です

集計テーブルを作成し、統計情報を集計テーブルに定期的に書き込み、後で集計テーブルを直接クエリすることができます。とにかく、統計情報は月次または四半期の形式です

  • fpm ではなく cli モードでスクリプトを実行します

  • ループ内で yield キーワードを使用すると、追加の中間変数は生成されません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。