私は繰延収益回収のために GAAP 会計準拠を必要とするプロジェクトに取り組んでいます。現金は独自の「通貨」またはクレジットに変換されます。これらのクレジットは、変換時の購入価格 (為替レートの変動を含む) に基づいて異なる値になる場合があります。
購入が行われるたびに、最初の「バケット」のクレジットが使い果たされ、次に古いバケットが検出されるまで、金額が差し引かれます。消費されたクレジットの評価は、その特定の購入の総収益を定義します...そのため、クレジットとデビットの順序/各クレジットの価値に基づいて、製品ごとに異なる場合があります.
私のシーケンシャル マインドは、これを簡単な命令型の問題と見なしています。収集しているデータを使用して、トランザクション ログを再生し、各顧客および各製品の 1 日あたりの収益の合計を計算できます。これは、提供されるサービスに対して償却できます。問題ない。
私のデータは、レプリカ セットのシャード MongoDB クラスターにあります。ダンプして後処理スクリプトを作成するのは簡単ですが、それから直接レポートできるようにしたいと思っています。
過去に単純な MapReduce 操作で遊んだことがあります。トランザクション ログを順次処理する方法はありますか? 通常のトランザクション ログは並行して処理できますが、私はこれを実行しましたが、MapReduce (MongoDB または Hadoop) をひねって順番に再生する方法を見つけることができないようです。私はそれができるとは思わない。私は間違っていますか、それとも単にn00bですか?
この時点での私の唯一のオプションは、リプレイの後処理、購入時の通貨バケットの操作、または見落としていたものを利用することです...おそらく、ここで箱の外で十分に考えていません.
簡単な洞察や指針をいただければ幸いです。