1)私の最初の質問は、mongoDBで統計を保存するための最良のソリューションに関するものです
大量の統計を保存したい場合(特定のサイトの訪問者を1時間ごとに保存するとします)、mongoDBのようなnoSQLDBは非常にうまく機能しているようです。しかし、mongoDBを最大限に活用するためにこれらのテーブルをどのように構成すればよいでしょうか?
ユーザーがページにアクセスするたびに、その特定のオブジェクトID(SITE_MONTH_DAY_YEAR_SOMEOTHERFANCYPARAMETERなど)の訪問者数を1つずつ増やします。しかし、データベースが大きくなった場合(> 10g)、object_idを検索して更新する必要があるため、(mysqlの場合のように)遅くなりませんか?データを更新するとき、データは常に正確ですか(afaik mongoDBにはテーブルロックがありませんか?)
訪問者ごとに1行を挿入するだけの方が速いのではないでしょうか。(そしてより正確に)一方、統計を読むことは私の最初の解決策ではるかに速くなるでしょう、そうではありませんか?(特にサイト/日付/ [...]による「グループ化」に関して)。
2)カウントされたすべての訪問者に対して、2人のユーザー間で送金を行いたいと思います。これらの転送が常に正確であることが重要です。どのようにそれを達成しますか?私は、過去1時間のmongoDB.statisticsから訪問者の数を選択し、ユーザーのバランスを更新する1時間ごとのcronについて考えていました。ユーザーを数えながら直接/ライブでこれを行うことをお勧めしますが、何千人もの訪問者が同時にスクリプトを呼び出している場合はどうなりますか?間違った残高を取得するリスクはありますか?