中規模の電子商取引サイトがあります。本を販売しています。このサイトには、プロモーション、ユーザーのおすすめ、通常の書籍ページ、関連書籍などがあります。もちろん、サイトのボリュームを除いて、amazon.com と非常によく似ています。
従来の LAMP セットアップがあり、M はまだ MariaDB を表しています。
TPTB は、コンバージョンを最適化するために、ユーザーの行動を記録して分析したいと考えています。
要するに、各クリックをログに記録する必要があると思います。(私が恐れている)
これにより、毎月数百万回のクリックが発生します。システムは、少なくとも 3 年間さかのぼることができなければなりません。
システムに尋ねられる可能性のある質問は次のとおりです。 ページ (例: ホームページ) が与えられ、プロモーション バナーがクリックされた場合、そのバナーのどの色が最高のコンバージョンをもたらすか。次に、その質問を新規顧客とリピーターに分けます。(多次元または A/B テスト) または、本 A と B のビューが与えられた場合、ユーザーは次にどの本を購入しますか。クエリの範囲は非常に広くなります。データを集計しても意味がありません。
このデータを格納、分析、およびクエリするための優れたプラットフォームを提供する MySQL の能力について、私は深刻な疑問を抱いています。行を保存し、RabbitMQ を介して MySQL に供給して遅延を回避することもできますが、このデータを効率的にクエリおよび分析することは、50M 行を考えると MySQL では最適ではない可能性があります。
MongoDB を使用した分析データの保存に関する記事は数多くあります。しかし、すべての投稿はドキュメント内のカウンターをインクリメントしているように見えます (データを事前に集計しています)。これは私たちにとって十分ではありません。
大きな問題は、このようなデータの保存と分析に特に適したデータベース (または他のシステム) があるかどうかです。MySQLはまだうまくいくでしょうか?MongoDB はおそらくここでは付加価値がないかもしれないという私の評価は正しいでしょうか?