どのユーザーがどのページを何回訪問したかを把握する必要があります。Redis/Memcached/MongoDB(または任意のNoSQLシステム)は、MySQLの重複したキー更新をサポートしていますか?
は、MySQLでは、私はこのような何かをしたい:
INSERT INTO stats (user_id, url, hits)
VALUES (1234, "/page/1234567890", 1)
ON DUPLICATE KEY UPDATE hits = hits + 1;
を表でstats
(user_id, url)
は、私は、この目的のために最速のシステムを見つけるために探していますUNIQUE
です。これは統計のためのものなので、耐久性を維持することは重要ではありません。
RedisやMongoDB、MemcachedなどのNoSQLシステムは、このような機能をサポートしていますか?どのように最高のパフォーマンスを得るためにこれを実装しますか? MongoDBので
ありがとうございました! Mongoはquadcoreコモディティサーバ上で何秒間に何アップ秒を稼ぐことができますか?あなたの経験は何ですか? – Continuation
スキーマ設計、RAMの量、データセットのサイズ、およびその他の要因によって大きく異なるため、意味のある答えはありません。あなたの最善の策は、あなたのアプリケーションがパフォーマンスを評価するために行うことを真似る簡単なベンチマークテストを書くことです。 – mpobrien
@Continuationでは、間違いなくベンチマークを行う必要があります。また、MongoDBは異なるレベルの「書き込み懸念」または「書き込み安全」を持っていることにも注意してください。デフォルトでは、ほとんどのドライバーは本当に高速ですが、重複したキー*のようなエラーをスローしません。ベンチマーク時に適切なレベルのデータ安全性をテストしていることを確認してください。 –