Ben idare ediyorum, bir web sitesi için bir lamba yığını üzerinde duyuyorum. Orada (bizim masaüstü ürünle ilgili çeşitli şeyler) kullanım istatistikleri rulo için bir ihtiyaç olduğunu ve başlangıçta (zaten verilerle çalışmak için sınıfların bir grup vardı ki varlık) PHP ile sorunu ele alındı. Tüm 5.3 kullanıyordum benim dev kutusunda iyi çalıştı
Uzun lafın kısası, 5.1 bellek yönetimi çok kötü emmek gibi görünüyor, ve ben bir sabit bellek alanında çalıştırmak için komut uzun vadeli rulo almak için aptal yerine koyup kandırmaya bir sürü yapmak zorunda kalmıştım. Bizim sunucu adamlar şu anda php yükseltmek istemezler. Ben beri yüzden tekrar bu sorun haline çalıştırmak yok geri 5,1 benim dev sunucu hareket ettik ...
MySQL veritabanlarının madencilik potansiyel bu (bir cron programa karşıt olarak) gelecekte tüm zamanını yapan bir süreç çalışıyor, farklı dönemler ve çözünürlükler için istatistikleri rulo için, ne dil seçimi tavsiye edersiniz? (Ben bunu biliyorum daha fazla veya daha az), java (çok iyi bilmiyorum), php ile dışarı çıkmış (çok iyi biliyorum) Python bakıyordu.
Herhangi bir öneriniz için teşekkür ederiz.
Şaka
Edit: design clarification for commenter
Kararları: toplaması komut şu anda çalışır yolu, Ben kararlar ve kovaları tanımlamak için bazı sınıfları var olduğunu. Bu keyfi dönemi tarihe dayanmaktadır - her sınıf bu kova için zaman aralığını tanımlayan bir başlangıç ve bitiş damgası veren bir "kova sayı" Verilen - I yıl, ay, hafta, gün var. Şu anda, o çalıştırıldı son kez bu yana her çözünürlük için sıvadı veri setini tamamlayacak, yani sistem, "tam" kayıtları tutar.
SQL Strat: Taban istatistikler birçok farklı şemalar ve tablolar yer almaktadır. Ben, o zaman insert için bir kayıt çoğunlukla her sıvamış stat için bireysel sorgular doldurmak yok. Sizin gibi iç içe alt sorgular öneriyorlar:
Rolled_up_stats (SOMEVAL, SOMEVAL, SOMEVAL, ...) VALUES (someschema2 dan AVG (somestat2) SELECT someschema dan SUM (somestat) SEÇ) INSERT
Bu alt sorgular doğru, geçici tablolar üretecek? Benim deneyim geçmişte pekmez gibi yavaş olmuştu olmasıdır. Daha iyi bir yaklaşım mı?
Edit 2: Adding some inline responses to the question
Dil 5.1 php durumunda bir darboğaz oldu - Ben aslında (komut 5.3 ince çalıştı ama) ben yanlış dil seçim yapılmış söylendi. Ben bu görev için kontrol ediyorum ki, python söz. Açık olmak gerekirse, ne yapıyorum ben bir masaüstü ürünün kullanım istatistikleri için bir yönetim aracı (günlükleri aslında mysql tabloları için bir EJB sunucusu tarafından yazılır) sağlanmasıdır. Ben apache günlük dosyası analizi, yanı sıra web tarafında daha fazla özel web raporlama yapmak, ama bu proje ayrı. Şimdiye kadar geçtiniz yaklaşım agrega masaları. Ben bu mesaj kuyruğu ürünler benim için yapabileceği ne emin değilim, ben bir göz atacağız.
Biraz daha ileri gitmek için - veri yönetimi ürünün nasıl kullanıldığını anlamak için izin vermek, hizmet ve müşteri düzeyinde zamanla aktivitesini grafik için kullanılıyor. Bir süre (1 Nisan-10 Nisan) seçin ve seçilen süre bağlı olarak farklı granularities (saat, gün, ay, vb) belli bir özelliğinin kullanımının toplam dakikalık grafiğini almak olabilir. Kullanım Onun aslında bir sonra-aslında analizi. Gerek gerçek zamanlı yönelmekte gibi görünüyor, ancak (kullanım son saatte bakmak)