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

Cevap