Çalıştığım şirket Blackberry platformu için uygulamalar oluşturur.
Biz bize uygulamalar içinde embed kodu ve uygulamalar merkez sunucularına geri onlar koşmak konum her zaman bazı istatistikleri rapor olmasını sağlayan özel bir "analitik sistemi" üzerinde çalışıyoruz. Şu anda, sistem ok çalışır; ancak sadece saatte 100-200 vurur beta bulunuyor. "Hit" bir sorun olmadan sunucularına gönderilir. Biz (MySQL DB) isabet kabul ve depolama işlemek için çok sağlam bir API inşa ettik. Biz yük test ettik ve bir sorun olmadan yüzlerce saat başına isabet binlerce karşılamak gerekir. Bu gerçekten bir sorun değil.
Sorun istatistikleri gösteriyor. Biz Mint (haveamint.com) benzer bir ekran paneli inşa ettik, vb ... Geçen gün, ay, hafta, yıl, her bir saat fazla hit gösterir Yumruk sürümü vurur tablodan veri çekerek ve anında yorumlayarak düz sorguları koştu. Bu çok uzun süre işe yaramadı. Bizim şu anki çözüm hit işlenmesi için "kuyruğa" ve biz bir cron hit alıyor ve her saat, gün, hafta, ay, yıl ... vb "önbelleklerini" içine dizerek her 5 dakikada yoluyla gelmek zorunda olduğunu Bu inanılmaz çalışıyor ve inanılmaz derecede ölçeklenebilir; ancak, sadece 1 saat dilimini çalışıyor. Tüm şirket bu erişimi bu yana, çeşitli zaman dilimleri içinde birkaç yüz kullanıcıları ile uğraşıyoruz. Ne San Jose "Bugün" olarak tanımlamak Londra'da benim meslektaşım Bugün olarak tanımlayan olandan çok daha farklı. Geçerli çözüm sadece 1 timezone önbelleğe bu yana, bizim diliminin dışında verileri kontrol ediyor herkes için bir kabus.
Bunu düzeltmek için mevcut plan her zaman dilimi (toplam 40) için önbelleklerini oluşturmak için; Ancak, biz 40 ile veri miktarını çarparak anlamına gelir ... bu önbelleğe sadece kötü bir fikir gibi geliyor çarparak, çok büyük olabilir ki bana korkunç ve verilen; biz Kuyruk işlemek için gittiğinizde artı, 40 farklı önbelleklerini onları koymak için daha çok CPU zamanı alacak.
Herhangi bir kimse bu sorunu çözmek için nasıl daha iyi bir fikrin var mı?
(Böyle uzun bir soru için üzgünüm .. açıklamak tam olarak kolay değil. Tüm teşekkürler!)