相当な初学者です。
やりたいことの正しい方法が分からず、キーワードだけでも頂戴できれば自分で調べられますため、「具体的なコード」ではなく「方法論」や参考URLなどについて、ご教示を頂けると大変嬉しく思います。
【前提】
使用環境は、php(Laravel)、JavaScript、MySQLです。
現状は、phpからGoogleAnalyticsにAPIリクエストをして、MySQLに保存するところまでは問題なくできています。
データベースに想像通りの保存ができれば、そこから先の開発もイメージができていますため、「MySQL」に保存をするところまでが、今回の質問のスコープとなります。
【内容】
やりたいことは、GoogleAnalyticsから閲覧ページのデータを100万行単位で落としてきて、それを再集計した上でデータベースに保存をしたいと考えています。
「再集計」とは、例えは、GoogleAnalyticsに保存されたページのデータは、
example.com/?sid=dsfdsfasdfsa
example.com/?sid=tijkfdgkds
example.com/?sid=ijfisdjf93jf
のように同じページのURLが分散しています。
また、ページレポートに対して「そのページを経由しての目標達成数」というデータは閲覧できないため、
A.通常のページレポート
B.目標達成したというセグメントをかけたページレポート
の2つを落としてきて、統合した上でデータベースに保存をしたいと考えています。
つまりやりたいことは、
①URLから(任意の)GETパラメータ部分を残して、統合
②AとBの異なるリクエストから得たデータを①の統合後のURLをキーに統合
③その結果を任意のデータベースに保存
です。
しかし、この①②の集計を、どのような方法で行うことが最も最適なのかが、全くイメージできていない状況です。
素人発想としては、計算用のデータベースを用意しておいて
1、Aをリクエストして、いったん計算用データベースに保存
2、同じくBのリクエストも計算用データベースに保存
3、計算用データベースに対してSQLで統合処理
4、その結果を、正式なデータベースに保存
5、蓄積するデータが膨大になってしまうので、保存に成功したら計算用のデータベースを削除
(何度も繰り返す想定のため、都度残しておくと簡単に億行に到達してしまい、集計成功後は一切不要なデータのため)
といった流れかなと感じておりますが、集計用にデータベースを作るというのが一般的なのかが一切わからず、この方法に進むべきか悩んでおります。
この「方向性」の正誤についてなど、アドバイスをいただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー