Tüm arkadaşlara verdikleri bilgilerden ötürü teşekkür ederim. Bilgiler ışığında test edip düzenleme yoluna gideceğim.
Ancak burda benim en fazla kafamı kurcalayan Mysq'lin karmaşık server optimizasyonu. Standart ayarlar la kullanmak çok sağlıklı olmuyor. Netten araştırıp da o bilgilerle optimizasyon yaptığımda da doğrumu yapıyorum yanlış mı belli değil zira bazı ayarlar farklı sitelerde farklı anlatılmış gibi geldi bana. Mysql server optimisazyonu için önerebileceğiniz sağlam bir kaynak varsa memnun olurum. Teşekkürler iyi çalışmalar. From: Altan Tanrıverdi Sent: Thursday, October 22, 2009 7:56 PM To: Özgür yazılımlarla çeşitli dillerde yazılım geliştirme Subject: [Linux-programlama] Re:Mysql de farkli database deki tablolari eşdeğer tutmak Veritabanı bilgisi olmadan şu motor daha iyi demek pek mümkün değil. Ancak sms işi yapılıyorsa az çok tahmin edebiliyorum. Sms metinleri, raporlamalar vs... Yüklü bir veritabanı ve fulltext işlemlerinin yoğunluğu... Transaction kullanacaksanız, insert/update işlemleriniz fazla ise innodb daha iyi bir alternatif. Select ve fulltext işlemleriniz çok daha fazla ise myisam öneririm. Lock konusuna gelince myisam tabloyu kilitliyor ancak innodb sadece row'ları kilitler. Yani myisam daha hızlıdır diye bir genelleme yapılamaz. Data üzerinde düzenleme daha fazla ise innodb daha hızlı çalışacaktır. Bazı çok yüklü veritabanlarında bu genelleme de çökebiliyor, innodb saçmalayabiliyor. Onun için innodb daha stable'dır diyemiyorum. Kaynaklarda belirtilen stable olma durumu daha çok sorgu sürelerinin daha düz bir çizgide olmasından kaynaklanıyor gibi, yoksa g.... başı dağıtmıyor gibi algılamamak gerekiyor. 2009/10/22 Baris CUHADAR <pard...@gmail.com> Hasan Sertçelik wrote On 10/22/2009 04:53 PM: "MyIsam kullanmamın özel bir sebebi yok. Ancak netten arastirdigimda Myisamin insertlerde InnoDb den daha hızlı olduğunu okudum. İkinci olarak Sunucuda bir ariza elektrik kesilmesi vb olduğunda innoDbnin daha fazla hata verdigini hatırlıyorum sanki? Bilmiyorum yanlışmı biliyorum?" MyIsam elektrik kesilmeleri ve donanım arızasında, tablo yapısının bozulma olasılığı yüksekle muhtemeldir. Diğer arkadaşların da belirttiği InnoDB kullanmanızı tavsiye ederim. Aşağıda iki motorun karşılaştırması var; http://en.wikipedia.org/wiki/InnoDB#Comparison_with_MyISAM Baris CUHADAR http://baris.bckm.org Hasan Sertçelik wrote On 10/22/2009 04:53 PM: serdar güler yazmış: Eğer sorun table lock mekanizması ise view ın problemizi çözmesi mümkün değil. view ın okuduğu tablo da lock varsa view da lock ın kalkmasını bekleyecektir. Sorunun lockdan kaynaklandiğini düşünmüyorum. Zira sorun cikaran script sonsuz döngüde ve her döngüde önce A veritabanına baglanip sorgulamaları yapiyor göndermesi gereken mesaj varsa B veritabanına baglanip tablodan select yapip işlemleri yapıp a veritabanında updateleri gerçekleştiriyor.Mesaj yoksa maksimum 2 saniye sonra, varsa tekrar döngü devam ediyor. Bu bu şekilde 7/24 devam ettiği için bir süre sonra B veritabanına baglantida sıkıntı çıkıyor. Zira aynı şekilde çalısan ve sadece A veritabanını kullanan scipte bir sorun yok. Sorunun sürekli B veritabanına baglanti kurulup kapatılmasından kaynaklandığını düşünüyorum ancak kesin emin değilim. myisam tablo kullananızın özel bi sebebi yoksa ınnodb ye geçebilrsiniz. sonuçta transactional bi yapınız olduğu sonucunu çıkartıyorum yazdıkarınızdan. MyIsam kullanmamın özel bir sebebi yok. Ancak netten arastirdigimda Myisamin insertlerde InnoDb den daha hızlı olduğunu okudum. İkinci olarak Sunucuda bir ariza elektrik kesilmesi vb olduğunda innoDbnin daha fazla hata verdigini hatırlıyorum sanki? Bilmiyorum yanlışmı biliyorum? bir de tabloları bölüp kulanmak isterseniz. partitioning ya da merge table gibi çözümler de mysql de mevcut. bunlar her durumda view dan çok daha fazla işinizi göreceklerdir. On 10/22/09, OKAN <li...@ari-tech.com> wrote: MyIsam ile cozmek isterseniz, pek pratik olmasa da uygulanabilir bir yontem olarak tabloları boylenizi onerebilirim. Ornegin: log diye bir tablonuz varf ve surekli insert ve update uygulanıyorsa bunu log_1, log_2, log_3, .... log_10 seklinde bolup, gelen verileri bu tablolara eşit şekilde dagıtabilirsiniz. Ornegin user_id'nin son 2 rakamına gore mesela. Bu insert ve update esnasında lock olan table yapınızı dagıtmanızı saglar oldukça da fark olusturucaktır. Ayrıca, surekli table lock oldugu icin problem yaratan veritabanınızın tablo bozulmalarına da sebebiyet verebilecegini unutmayınız. OKAN Bölmemi gerektirecek bir tablo yok şu anda.Loglari aylık ve günlük tutup fazla sişmesini engelliyorum. ----- Original Message ----- From: Hasan Sertçelik To: Özgür yazılımlarla çeşitli dillerde yazılım geliştirme Sent: Thursday, October 22, 2009 3:31 PM Subject: [Linux-programlama] Re: Mysql de farkli database deki tablolari eşdeğer tutmak serdar güler yazmış: MyISAM ve Innodb tablolar arasındaki en önemli fark da bu zaten, update işlemleri seyrek de gelse MyIsam tablolar update sırasında tabloyu tümden kilitlediğinden, sizin durumunuz benzeri durumlarda InnoDB tablolar daha çok öneriliyor. Sistemin ayrıntılarını bilmeden çok da ahkam kesmek istemiyorum ama bi test ortamınız varsa varsa farklı storage engineler deneyerek en uygun ortamı yakalayabilirsiniz. Muhtemelen de geleceğiniz nokta sizi MyISAM yerine InnoDB kullanmaya itecek gibi görünüyor. Viewların sorunu çözüp çözmediği hafta sonu 60-70 canlı maçın olduğu anlarda belli olur. Çözmezse ya dediğiniz gibi tablo tiplerini değiştirip deneyecem, ya farklı bir çözüm bulmaya çalışacam yada postgreSqle geçecem. Teşekklürler. Kolay gelsin. On 10/22/09, Hasan Sertçelik <ha...@sertcelik.net> wrote: serdar güler yazmış: Tablolarda engine olarak ne kullanıyorsunuz? InnoDB, MyISAM vs. ? myisam kullanıyorum. On 10/22/09, Altan Tanrıverdi <alt...@gmail.com> wrote: Avea tablonuzda şu şekilde sorgu yaratın... CREATE VIEW mac_sonuclari AS SELECT id, mac, tarih .... FROM turkcell.mac_sonuclari Viewları oluşturdum.Teşekkürler ilginiz için. 2009/10/22 Hasan Sertçelik <ha...@sertcelik.net> Altan Tanrıverdi yazmış: Birbiriyle aynı 2 veritabanının hiçbir mantığı yok. Data yükünü böyle paylaştıramazsınız; tam aksine performans düşüklüğüne yol açarsınız. Diğer veritabanından kurtulmanızı tavsiye ederim. Script içerisinde gerekli güvenlik kontrollerini yaparak veya dediğim gibi iki user açarak bunu rahatça aşarsınız. Maalasef veritabanları birbirinin aynısı değil. Sadece 2 tablo aynısı . Veritabanının biri turkcell sms sistemi digeri avea Ama içerik ve maçsonuc tabloları aynı. Bu tablolara bağlantı kurarken Şu an zaten 2 farklı userla çalısıyor ve sürekli "MySQL server has gone away" hatası vermeye başlamasından dolayı aynı tabloyu diğer veritabanına almak istiyorum. ------------------------------ _______________________________________________ Linux-programlama mailing listlinux-programl...@liste.linux.org.trhttp://liste.linux.org.tr/mailman/listinfo/linux-programlama _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama -- ======================================= Altan Tanriverdi Software Engineer & Linux System Administrator ======================================= ------------------------------------------------------------------------------ _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama ---------------------------------------------------------------------------- _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama -- ======================================= Altan Tanriverdi Software Engineer & Linux System Administrator ======================================= -------------------------------------------------------------------------------- _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama
_______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama