Merhaba arkadaşlar. Insanların görevler seçip gerçekleştirebileceği bir web sitesi gerçekleştirmeyi düşünüyorum. Gerçekleştirilen görevlerin sonuçlarını veri tabanında tutacağım. Örneğin X kişisi A,B,C görevlerini tammalamış gibi veya şu görevleri yanlış tamamlamış gibi. Buraya kadar bir sıkıntı yok bunları yapabilirim fakat daha bütün bu kullanıcıların verilerinden istatiksel veriler çıkarmak istiyorum mesela : A görevini kullanıcıların yüzde %90 ı geçebilmiş. Veya 18 yaş altındakilerin %60 geçebilmiş gibisinden.
Bu istatistikleri aslında Db deki verileri sorgulayıp basit matematik işlemleri ile halledebilirm fakat bu istatistik sonuçları sık sık gösterileceği için, her seferinde bütün veriler üzreinden sorgu yapıp hesaplamak çok saçma geldi.
Acaba veriler kayıt edilirken mi hesaplamam gerekir istatisği? Bu tarz istatiksel verileri oluşturmanın doğru yolu nedir acaba?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Excel tablosu düşün, hücrelerde (cell) temel veriler, bazı hücrelerde de hesaplar, istatistik çıkaran formuller vardır. MySQL gibi bir veritabanı oluşturduğunda veriler MySQL'de, formuller ise uygulamanın içinde olur. Ha formulleri kullanıcı değiştirebilmesi gerekiyorsa o zaman formulleri de MySQL'de formul dizesi olarak örn "ortalama = topla (tuketim_degerleri_dizisi) / eleman_sayisi (tuketim_degerleri_dizisi)" gibi saklayabilirsin.
Farkli yaklasimlar var bu dedigin ile ilgili olarak. Eger cok trafikli bir site ise, bu isler batch job olarak yapilir gunde ya da 12 saatte bir.
Yani istatistikleri hesaplayan bir process tanimlayip, bu process i X kadar surede bir calistirabilirsin. Boylelikle her R/W isleminden sonra sana is yuku cikmaz. Elbette dezavantaji en guncel istatistigi vermiyor olmasi.
Eger cok onemli bir sey ise istatistikleri guncel tutmak, o halde istatistiki verileri cache'te tutup her DB update i sirasinda cache i guncelleyip yeniden hesaplamalisin.
Eğer kullanıcıların görebileceği istatistiklerse ve istatistikler sürekli değişmeyecekse(mesela 18 yaş altı, 19 yaş ve altı gibi birden çok değişkenle yeniden hesaplamalar yapılmayacaksa, istatistikleri ayrı bir tabloya aktar ver ker kullanıcı her görevi bitirdiğinde tablo yeniden hesaplayıp değeri güncellesin. Böylelikle kullanıcı sorgu yaptığında sonuç tablosundaki birkaç yüz satır arasından net sonuç çıkarır.
Eğer admin odaklı ise cache ile sonuçları birktir. 15-20 dakkada bir cache güncellesin.
Insanların görevler seçip gerçekleştirebileceği bir web sitesi gerçekleştirmeyi düşünüyorum. Gerçekleştirilen görevlerin sonuçlarını veri tabanında tutacağım. Örneğin X kişisi A,B,C görevlerini tammalamış gibi veya şu görevleri yanlış tamamlamış gibi. Buraya kadar bir sıkıntı yok bunları yapabilirim fakat daha bütün bu kullanıcıların verilerinden istatiksel veriler çıkarmak istiyorum mesela : A görevini kullanıcıların yüzde %90 ı geçebilmiş. Veya 18 yaş altındakilerin %60 geçebilmiş gibisinden.
Bu istatistikleri aslında Db deki verileri sorgulayıp basit matematik işlemleri ile halledebilirm fakat bu istatistik sonuçları sık sık gösterileceği için, her seferinde bütün veriler üzreinden sorgu yapıp hesaplamak çok saçma geldi.
Acaba veriler kayıt edilirken mi hesaplamam gerekir istatisği?
Bu tarz istatiksel verileri oluşturmanın doğru yolu nedir acaba?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.