• 12-11-2012, 03:27:36
    #1
    Üyeliği durduruldu
    Merhabalar arkadaşlar;
    Web programcıyım gerçekten büyük yığılmaların yaşanabilecegi bir script yazıyorum;

    Örn : 30 sn'de bir 10 sql sorgusu yapacagm bir js->php akımı ile çalışıyorum
    fakat aklıma takılan bir soru var

    Ortalama Anlık 1k ziyaterçi olursa saniyede ortalama 100 x 10 sql sorgusu olarak sisteme yansıyacaktır ( farklı zaman aralıklarında giriş/ çıkışlar ve 30 sn düşünüce ortalama saniyede 100kişi x 10 sql sorgusu edecegini tahmni ediyorm)

    size böyle bir yığılmada MYSQL'in durumu ne olur?
    Alternatif olarak Json olarak (verileri ekleme,çekme) düzenliyim diyorum ancak bununda mantıklı bulmuyorum

    Size Twitter hangi teknoloji veya algoritmayı kullanıyordur?
    Mysql alternatifi veriDepolamı kullansam,
    Js olacagı için cacheleme de mantıklı gelmiyor zaten anlık işlemler olacak

    Fikirlerinizi öğrenmek isterm
  • 12-11-2012, 03:45:14
    #2
    Üyeliği durduruldu
    cache ile...
  • 12-11-2012, 03:48:59
    #3
    Üyeliği durduruldu
    Cache olmaz , olamaz çünkü zaten anlık veri çekmem gerekiyor;
    ayrıca file_put_content() veya fwrite(), fput() gibi işlemlerle 30 saniye boyunca gene yüzlerce akışısı sürekli dosya aç, kaydet,dosya kapat matıgıyla verileri tutmak çok daha kötü bişi olur MYSQL kullanımından kaçınmaktansa..
  • 12-11-2012, 03:51:24
    #4
    Twitterda Hadoop,Cassandra, FlockDB ve mysql (innodb) kullanılıyor. Bizim basit projelerde kullandığımız ID oluşturan sütun bile ayrı yazılım (Snowflake) ile oluşturuluyor ve bildiğim kadarıyla her hafta bir cluster ekleniyor ağa ve burdaki tek makinanın özelliklerini sana söyleyeyim HP DL380, 72GB RAM, 24 disk RAID10.
    Database veri yazımında Cassandra kullanılıyor.
  • 12-11-2012, 10:59:39
    #5
    Anlık veri akışı sağlamak istiyorsanız en uygun çözüm web socket kullanmaktır. Örnek olarak node.js deneyebilirsiniz. (http://nodejs.org/)
  • 12-11-2012, 11:10:43
    #6
    Üyeliği durduruldu
    OfisSoft adlı üyeden alıntı: mesajı görüntüle
    Anlık veri akışı sağlamak istiyorsanız en uygun çözüm web socket kullanmaktır. Örnek olarak node.js deneyebilirsiniz. (http://nodejs.org/)
    İnceleyeceğim tşkkler
  • 12-11-2012, 16:51:18
    #7
    bu tarz projelerde mysql sıkıntı yaratır. mysql in en büyük özelliği çok hızlı ama istikrarsız olmasıdır. arka arkaya gelen sorgu ve yığılmalarda stabil değildir. hardware i büyük tutup çoklu sunucuya geçmen gerekecektir. ama bahsettiğin kadar yoğun, saniyede 1000 sorgulu bir sistem için mysql yerine oracle falan mı denemek gerekir ve işin hardware boyutu da muazzam güçlü olmalıdır.
  • 12-11-2012, 17:36:17
    #8
    bu işte dönen verilerin önemi var, yani sorgudan dönen sonuçların boyutu nedir? Küçük boyutlu ise optimize edilmiş bir mysql sunucusu sorun çıkartmaz.

    1 saniyede her sorgudan 1KB veri dönse 5k sorgu olsa ~5MB veri döner, sorun çıkartmaz örnek olarak.

    Alıntı
    Js olacagı için cacheleme de mantıklı gelmiyor zaten anlık işlemler olacak.
    Kullanıcılarınız sürekli veri mi güncelliyor. Belki burada daha farklı fikirler de ortaya çıkabilir, bence konuyu biraz daha detaylandırmanızda fayda var.
  • 12-11-2012, 19:56:37
    #9
    Üyeliği durduruldu
    miscel adlı üyeden alıntı: mesajı görüntüle
    bu işte dönen verilerin önemi var, yani sorgudan dönen sonuçların boyutu nedir? Küçük boyutlu ise optimize edilmiş bir mysql sunucusu sorun çıkartmaz.

    1 saniyede her sorgudan 1KB veri dönse 5k sorgu olsa ~5MB veri döner, sorun çıkartmaz örnek olarak.


    Kullanıcılarınız sürekli veri mi güncelliyor. Belki burada daha farklı fikirler de ortaya çıkabilir, bence konuyu biraz daha detaylandırmanızda fayda var.
    Miscel ilgilendiğiniz için teşekkur ederm
    Bütün radyoların tutuldugu .json dataları mevcut onları php ile işliyorum.
    Alıntı
    tutulan veriler : {radyoadi,idsi,resimyolu,embedi,slogan,logo}
    bunlar sabit değerler..

    fakat ayrcıa şuanda dinleyenlerin sayısını, anlık yapılan yorumlar kontrollerini tutmak istiyorum.
    diyelim yorumları yine json ile işleyebilirzi fakat şuanda dinleyen sayısı özellikle her url çağrılışında değişecek-sayfaya ayrıca diğer taraftanda sayfaya çağrılacak ve kontroller sürekli olacak.
    mysql'de yüklü veriler tutmak niyetinde degilim zaten

    ama yüzlerce radyo için anlık veri akışı yapmak biraz düşündürüyor beni.