私は、私が取り組んでいるプロジェクトのためにMySQLでWebサイト分析システムを開発し始めましたが、スケーラビリティ、スピードなどの点で私のニーズには十分ではないとすぐに気付きました。かなりの研究をした後、MongoDBは優れた候補者として育ち続けていますが、唯一の問題は経験がなく、MySQL用の高性能/サイズのMongoDBデータベースのベストプラクティスを知らないことです。MongoDBを使用したウェブサイト解析用のデータベース構造
ユーザーがウェブサイトにアクセスすると、標準情報(IP、ブラウザ情報、ウェブサイトID、URL、ユーザー名)を記録する必要があります。また、ユーザーが訪問するすべての後続ページ(現在のタイムスタンプ、URL)も記録する必要があります。ユーザーがウェブサイトを離れて10日後に戻った場合は、その訪問をログに記録し、返されたユーザー(ユーザー名で識別されるユーザー)であることも記録する必要があります。
複数のWebサイト(1秒間に500件のレコードが追加されていることがわかります)にログを記録するだけでなく、レポート機能も必要です。私はグラフなどを作成しても問題ないですが、データベースから効率的にデータを抽出する方法を知る必要があります。私は、15分ごとに活動を示すグラフを提供できるようにしたいと思いますが、実用的であれば1時間で十分でしょう。
将来的にリアルタイムのレポート作成が可能なのであれば、面白いかもしれませんが、それは現在のプロジェクトの範囲外です。
私はこの記事をhttp://blog.mongodb.org/post/171353301/using-mongodb-for-real-time-analyticsで読んだことがありますが、交通量の多いウェブサイトについては何も言及していません。私が知っているだけで数千ものレコードを扱うことができます。その投稿のコンセプトに沿って、そのコレクションから直接レポートを取り出すか、データを事前に分析して別のコレクションにアーカイブする方がよいでしょうか?
データの挿入、データベース構造、レポートに関するご意見は大変ありがとうございます。