清水と申します。
いつもお世話になっております。
以前、Aアプリ(約25万件)とBアプリ(約25万件)のデータを取得し、
集計をしたいという質問をさせて頂きました。
今回は、集計し、ABC分析を行いたいです。
そのため、kintoneのクロス集計等は使えないと考えています。
やはり、データ量が多いため、日次で集計を行うバッチを作成し、
そのバッチで、別アプリに集計データを登録するようにしようと考えています。
集計データは、最小限に絞った場合、
約600件/日
約4200件/週
約18000件/月
となります。
ということは、月のデータを集計する場合、約18000件をデータを取得し、
集計をする必要があります。
この量のデータを取得すると、
APIを約180回使用してしまう
非常に時間が掛かってしまう
と問題が発生することが考えられます。
上記のような大量データを取得し、集計する場合、皆様は
どの様に実装されていますでしょうか。
ヒントやご助言頂けると幸いです。
よろしくお願い致します。
大変失礼いたしました。
件名には20万件と記載しましたが、それは、年間のデータを
集計した際のデータ量となります。
ABC分析ではありませんが、同じようにkintoneで蓄積した大量データを集計する仕組みを作った時は、私は別のサーバーを一つ準備しました。
Shimizuさんは日次集計バッチで、別アプリに集計データを格納という方式を検討されていると思いますが、それを、「日次集計バッチで、別サーバーのSqlServerに生データを格納」。としたのが私が実施した方式です。
20万件クラスの複数アプリのレコードを全てAPIで取得しつつ、オンメモリで集計をするという処理は、きちんと実装する自信がなかったので、安全策を取った形です。
尚、集計結果の出力については、kintoneで出力条件指定→JavaScript実装したボタンクリック→別サーバーに条件をGET送信→別サーバーで集計した結果をExcelダウンロード という形です。
裏ではややこしい事をやっていますが、ユーザー側はあくまでkintoneで操作をする運用です。
少々強引な手法なので、参考になるかわかりませんが。