folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Mysql Myısam Vs Innodb Karşılaştırması Ve Performans Hakkında Sorularım



Mysql Myısam Vs Innodb Karşılaştırması Ve Performans Hakkında Sorularım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lepusmorris
    lepusmorris's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    mysql de motoru nasıl seçmeliyim. karşılaştırmalara gözattım ama hep eski bilgiler, yorumlar. güncel tecrübeleriyle beni aydınlatablecek kimse var mı ya da kaynak gösterebilecek?

    bir de hızlıca insert ve select kullanabilmek istiyorum. en performanslısına nasıl ulaşabilirim?

    kayıt sayısı hangi rakamlara ulaştıktan sonra sorunlarla karşılaşırım. sunucu özellikleri güçlendirmekle bu aşılabilir mi?

    insertlerde kayıt kaçırma durumları olabiliyor mu?

    mongodb hangi projelerde kullanılıyor. sanırım user, password giremiyormuşuz. bu güvenlik açığı oluşturmaz mı? mysql ile karşılaştırınca daha performanslı diyolar ama şuradaki sonuçlarda çok farklı gözüküyor.

    node.js ile php'de yaptığım çoğu şeyi yaabilir miyim? phpye alternatif olarak kullanılabilir mi?

     

    sipariş takibi yapılan bir projem var. onda kullanacağım. kayıt kaçırmaması ve selectlerin çok uzun sürmemesini istiyorum.

    teşekkürler.

    lepusmorris tarafından 31/Ağu/17 11:34 tarihinde düzenlenmiştir

    ..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cevdet
    Cevdet's avatar
    Kayıt Tarihi: 10/Ağustos/2017
    Erkek

    INNODb seçmeni öneririm

    INNODb'de insertler bir nebze y a v a ş olabilir (index algoritmasından dolayı), ancak s electlerde bariz hız farkı görürsün, dataların daha hızlı geldiğini fark edeceksin (indexine göre)

    Hocam, disk kapasitesi, ram, işlemci, mysql indexı, attığın queri bunlar önemlidir (rahat olun). INNODB'de "select count(*) from table" querileri çok y a v a ş tır, myisam'da bu hızlıdır. nedeni de; biri table countu aklında tutar digeri tutmaz s a y a r. Siz onun hızlı olmasını isterseniz "select count(*) from table where c = 1" şeklinde indexli bir field uzerinden alabilirsiniz

    Olabilir

    mongodb noSQL, milyarlarca data tutabilir, user psw olayını duymaıdm, genelde bıg data ıcın kullanılır. Ben neden SQL den kaçıp NoSQL kullanayım? Zaten SQL'in avantajları benim işime y a r a y a n

    node.js ile phpde yaptığın her şeyi yaparsın, fazlasını da yaparsın. Ben uzun yıllar asp, php kullanıp, özel sektörde de 4-5 farklı firmada kod yazdıktan sonra, artık birçok php frameworkunu ogrenmeme rağmen node.js ve Javascript bilgim belli bir seviyeye ulaştıktan sonra asp, php, java gibi dilleri tamamen bıraktım, hiç kullanmıyorum. Ne iş olsa node.js ile halletmeye çalışıyorum. En sevdiğim package ise socket.io (tavsiye ederim)
    Şunu söylemek istiyorum, bir linux vps kiralayıp $5-10, centos falan kurup uzerine node.js kurarsın, 5 dkda sunucun olur, daha sonra routing, guvenlik vs gibi konuları da javascript y a z a r a k eklersin,
    setTimeout, setInterval gibi + fonksiyonların olur. S u n u c u n u n her özelliğini biliyor olursun  
    EDİT: Ancak Javascript ile s u n u c u geliştirmek, php ile geliştirmekten daha zordur. 

     

     

     

     

     

     

     

     

    Cevdet tarafından 31/Ağu/17 11:55 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lepusmorris
    lepusmorris's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek
    Cevdet bunu yazdı

    INNODb seçmeni öneririm

    INNODb'de insertler bir nebze y a v a ş olabilir (index algoritmasından dolayı), ancak s electlerde bariz hız farkı görürsün, dataların daha hızlı geldiğini fark edeceksin (indexine göre)

    Hocam, disk kapasitesi, ram, işlemci, mysql indexı, attığın queri bunlar önemlidir (rahat olun). INNODB'de "select count(1) from table" querileri çok y a v a ş tır, myisam'da bu hızlıdır. nedeni de; biri table countu aklında tutar digeri tutmaz s a y a r. Siz onun hızlı olmasını isterseniz "select count(1) from table where c = 1" şeklinde indexli bir field uzerinden alabilirsiniz

    myIsam'da olabilir

    mongodb noSQL, milyarlarca data tutabilir, user psw olayını duymaıdm, genelde bıg data ıcın kullanılır. Ben neden SQL den kaçıp NoSQL kullanayım? Zaten SQL'in avantajları benim işime y a r a y a n

    node.js ile phpde yaptığın her şeyi yaparsın, fazlasını da yaparsın. Ben uzun yıllar asp, php kullanıp, özel sektörde de 4-5 farklı firmada kod yazdıktan sonra, artık birçok php frameworkunu ogrenmeme rağmen node.js bilgim belli bir seviyeye ulaştıktan sonra asp, php, java gibi dilleri tamamen bıraktım, hiç kullanmıyorum. Ne iş olsa node.js ile halletmeye çalışıyorum. En sevdiğim package ise socket.io (tavsiye ederim)
    Şunu söylemek istiyorum, bir linux vps kiralayıp $5-10, centos falan kurup uzerine node.js kurarsın, 5 dkda sunucun olur, daha sonra routing, guvenlik vs gibi konuları da javascript y a z a r a k eklersin,
    setTimeout, setInterval gibi + fonksiyonların olur. S u n u c u n u n her özelliğini biliyor olursun  
    EDİT: Ancak Javascript ile s u n u c u geliştirmek, php ile geliştirmekten daha zordur. 

     

     

     

     

     

    ben hep myisam avantajlı sanıyor ve öyle kullanıyordum. valla makalelere gözattıkça kafam çorba oldu hocam. kimisi innodb'ye köpek çekiyor; çok ram yiyor, selectlerde zorlanıyor falan diyor. kimisi de myisam kaldırılacak, pek kullanışlı değil diyor. performans testlerinde myisam hep avantajlı gözüküyor. https://github.com/webcaetano/mongo-mysql

    bakıyorum wordpress falan da myisam. iyice karıştı işler.

    sipariş takibi yapılan bir projem var. onda kullanacağım. kayıt kaçırmaması ve selectlerin çok uzun sürmemesini istiyorum.

    ayrıca zaman ayırdığın için teşekkür ederim.


    ..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cevdet
    Cevdet's avatar
    Kayıt Tarihi: 10/Ağustos/2017
    Erkek

    Est hocam rahat olun

    Siz şimdi programda bir insert queri si gönderiyorsunuz.
    Benim kullandığım bir framework, insert querilerine kaydedilen datanın idsini cevap olarak gonderiyordu:
    --------------------
    $response = $db->queri("INSERT INTO table (name) VALUES ('lepusmorris')");
    if ($response <=0 )
          // kayıt kaçtı (kaydedilemedi)
    --------------------


    Demek istediğim: Bu kaydedilememe p roblemi, myisam innodb den bağımsız olarak her zaman olabilir (pek olmaz)
    Önlem alabilirsiniz bu duruma programmatic olarak

     

     

    Cevdet tarafından 31/Ağu/17 11:17 tarihinde düzenlenmiştir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    mongodb ile ilgili bir kay sey söyleyeyim. NoSql hizmetleri tamamen farklidir. Bir kac kere yazdim tekrar yazayim. Kafaniza göre nosql tabanli bir DB cözümü secemezsiniz. Yani neden mongoDB yi seciyorsun cassandra yerine.. Bunun arkasinda CAP teorem denilenbir teori var. Iliskisel veritabani sistemleri (RDBMS) ACID teoremine göre calisiyor. Ancak noSql cözümleri CAP teoremine göre calisir ve DB saglayici secilirken de CAP teorem göz önüne alinir. Bu teoreme göre de her bir database saglayici CAP dan en fazla iki özelligi kullanabilir o yüzden veritabanli da CA, CP ve AP tipi olarak ayrilir. MongoDB de bu kategoride CP yani consistency-partition tolerance altinda calisiyor. CAP e göre hangisi isine yariyorsa o DB yi secmen gerek. Mesela hata olsa dahi sana veri göndermesini istiyorsan (her durumda) ya da herkesin ayni datayi görme olayi varsa vs farkli seyler secilmesi gerekiyor. Biraz arastirirsan daha iyi fikir sahibi olursun.

    Hiz konusuna gelince, mongoDB'nin daha hizli oldugunu düsünüyorum tabi bu kullanildigi tipe de bagli.. mesela burada bir kac sekilde karsilastirilmis 

    http://erthalion.info/public/img/insert_configured.png

    eger mongodb testlerinde sen loglu kullanirsan tabi ki yavas sonuc verir. Bu testler ihtiyaca göre ayni sartlarda yapilmasi lazim. Projenin ne oldugunu bilmiyorum lakin sadece noSQL kullanacaksin diye bir olay da yok. Büyük firmalar bazi kisimlarinda nosql bazilarinda rdbms kullanir. Mesela atiyorum, tüm mesajlari tutmak icin nosql iyi bir cözüm olabilir. Ama join sorgulari gerektiren tablolar icin nosql kullanilamaz.. 

    Pek zamanim yok ama biraz arastirma yaparsan daha iyi anlarsin.

    kolay gelsin


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dhmm
    dhmm's avatar
    Kayıt Tarihi: 15/Eylül/2011
    Erkek

    Hocam benim bildigim bir fark var ama ne kdr gecerli bilmioyrum.

    MyISAM ile transaction kullanamazsin fakat InnoDB ile transactions kullanabilirsin. Oyle biliyorum.


    Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver !!! // Hayatin herkes icin bir bavulu vardir !!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cevdet
    Cevdet's avatar
    Kayıt Tarihi: 10/Ağustos/2017
    Erkek

    Kendi örneklerimizi veriyorsak;

    INNODB ile FULL TEXT SEARCH mümkün değil ancak myISAM ile mümkün

     

    Cevdet tarafından 31/Ağu/17 11:50 tarihinde düzenlenmiştir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lepusmorris
    lepusmorris's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    @Cevdet v5.6 itibariyle fulltext geldi diye biliyorum hocam. https://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html

    @unbalanced teşekkürler hocam. makalelere gözatmaya devam ediyorum.

    @dhmm transaction, aslında büyük bir avantaj ama hız daha öncelikli geliyor şuan benim için. ufak bir test yapacağım (insert,select,update,delete). sonuçları eklerim buraya da.


    ..
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cevdet
    Cevdet's avatar
    Kayıt Tarihi: 10/Ağustos/2017
    Erkek

    Hocam hız farkını 2M kayıttan sonra daha açık gorebilirsin

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lepusmorris
    lepusmorris's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek
    Cevdet bunu yazdı

    Hocam hız farkını 2M kayıttan sonra daha açık gorebilirsin

    ben mi yanlış ölçüyorum bilmiyorum ama myisam select ve insertlerde 2 kat daha hızlı çalışıyor. 2m kayıt ile denedim.

    edit: innodb'nin tek avantajı transaction gözüküyor şuan.

    lepusmorris tarafından 31/Ağu/17 17:32 tarihinde düzenlenmiştir

    ..
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cevdet
    Cevdet's avatar
    Kayıt Tarihi: 10/Ağustos/2017
    Erkek

    Deney sonuçları "MyISAM daha hızlı" diyorsa kabul ederim ancak test ederken kullandığın queriler, tabloların indexleri ve benzeri dataları bu konuya eklersen bu iddianı kanıtlamış olursun

Toplam Hit: 4124 Toplam Mesaj: 24
mysql performans innodb myisam