>Konu gereksiz yere uzuyor, son olarak birkaç şey söyleyip nokta koyacağım..
>- Kaydı kimin lock ettiğinin bilinmesinin ne gibi bi ihtiyaca cevap vereceği,
programın kullanıldığı şartlara, kullanıcının isteklerine ve programcının olaya yaklaşımıyla ilgilidir.Bu, senin ya da FB'yi yazanların "bu mantıksız" demesine bağlı olamaz.FB bunu yapabiliyor mu, yapabiliyor..Ben kullanabaliyor muyum, kullanamıyorum..Olay budur..
blue,
FB bunu yapamasa, RDBMS olamazdı, VT sistemi demek lockları takip ederek kayıtları paylaştıran sistem demektir. Ve FB dünyada optimum lock mimarisine sahip ilk VT sistemidir, onun 20 yıl önce keşfettiklerine bugün bile sadece birkaç VT sistemi ulaşabiliyor o da tam değil.
Lock gereklidir ve merkezi sistemle, yalıtımlı yapılmalıdır. locka kullanıcı karışamaz, çünkü her lock sistem bütünlüğünü tutarlılığını sağlamak için vardır. ACID için vardır. Transaction sistemlerde bu şarttır. MYSQL diyorsan onda innodb modunu kullanmadığın sürece ACID değil. innodb si de dünkü sistem ve kiralık, FB mimarisinin ucuz bir taklidi.
>Ha bunu başka yöntemlerle yapabilir miyim?Elbette yaparım.Ama madem FB kullanıyorum ve madem sen de tenezzül edip bir Türk forumunda bu kadar uzun süredir yazıyorsun, ben de seni bulmuşken soruyorum..
yurdum insanına 2-3 yılda bir şans veriyorum, bakıyorum piskolojisi düzelmiş mi, engin, geniş ve objectif düşünüyor mu, yoksa keçi gibi
inadına devam edip üçgen tekerlekli mercedes mi tasarlamaya çalışıyor.
.
>Bunun yadırganacak neyi var?Cevabı biliyorsan ve paylaşmak istiyorsan eyvallah der dinler, okurum.
Cebabı ben defalarca verdim bu forumda, dikkatli okumanın yanı sıra hazmetmen, sindirmen de gerekiyor.
>Gerisi ne seni ne de FB'cileri ilgilendirir, tamamen kendi insiyatifim doğrultusunda modeller ve kodlarım..
tabi ki.. ama lock edilmiş kaydın sahibiyle ilgili işleme kalkışmak bir eksiklik ya da buluş değil, tasarım bozukluğundan kaynaklanan bir ihtiyaçtır.
>Ha sen benden bir program mı istedin, bir veritabanı modellemesi mi yapacağım sana, o zaman anlatırsın bu gereksiz ve saçma bi ihtiyaç diye..
Veritabanı modellemesi de kodlama da benim işim, kimseye bırakmam tasarımı. hele sana assslaaa!! ama piyasa senin gibilere daha yatkın oldugu için yine de benden daha çok kazandığını ve daha iyi bir işin oldugundan emin olabilirsin.
>Şu aşamada bunun gereksiz olup olmadığına sen değil ben karar veririm.
buna karar verecek kadar uzmansan, kendi VT sistemini geliştir diyorum ben de sana. çünkü hiçbir DB gurusu senin bu arzunla uğraşmaz.
MSSQL gibi gereksiz locklar yapan, locklı kalabilen sistemlerde bu ihtiyacını karşılamak istiyorsan da, bu isteklerini M$ mühendislerine iletmelisin, yanlış yerdesin, müslüman mahallesinde salyangoza kimse para vermez. ( herekirse, kendi yakalar yer, o ayrı konu

)
>- WAIT, NOWAIT vs.konularını bilmiyorum demedim, sadece her şeyi bilmem imkansız dedim.Ayrıca benim hangi noktada olduğum, nasıl geldiğim yine beni ilgilendirir.Ek olarak ben bir MUHASEBECİYİM!
Ek olarak ben de 20 yıllık bilgisayar uzmanıyım,üniversitelerden 2 tane bilgisayar bir tane de ekonomi diplomam var, yüksek bilişimciyim.
Asıl önemlisi ise, ben herşeyi, hobi ve meraktan öğrenir ve uygularım, formaliteden iş yapmam, konuşmam.
>- VEDOP projesinin kime ait olduğu bir kenara, senin açından baktığımızda, benim ya da forumdan herhangi birisinin herhangi bir projesine OK vermen ya da vermemen, keza bunu düşünmem dahi bana saçma geliyor.Ben oturur kodlarım, çıkartırım teste..
Ben oturup test etmem uygulamanı. Tasarım şemana bakarım, kodunu incelerim. Yazılım bir mühendislik, bir ar-ge çalışmasıdır. TV programı-sabah kuşağı yapar gibi programcılık benim tarzım değil. oturup seyretmem!
>Ve kullanıcıya derim ki, "programı alacak mısın?öyleyse otur kullan, ihtiyacına cevap veriyorsa fiyatı budur!". Son olarak FB benim kullandığım tek veritabanı da değil!Geliştirdiğim projeler için en ideal veritabanı FB olduğu için onu seçtim.Keza bu da tamamen beni ilgilendirir.
Kullanıcı seni teknik olarak değerlendiremez eğer kullanıcın aynı senin meslekten değilse. Teknik değerlendirme, sosyo-ekonomik-ticari değerlendirmeden farklıdır. Evrensel matematik ve mantık cenderesi vardır.
>Çalışmalarında başarılar diliyorum.
Ben de sana, ve herkese diliyorum. sadece benim başarılı olmamın bir anlamı olamaz ki, ben kendime zaman ayırmak yerine burada suyu havanda seyreltmeye çalışıyorum.
Ve son bir örnek vererek anlaman umuduyla konuyu kapatıyorum.
bir timer koy, limiti 1000 ms olsun yani 1 sn.
timer değeri kontrol değişkenini sıfırlayan kadar döngü kur
bir transaction aç,
tablonda bir sahayı update et: update estarabim set honkiponki=honkiponki+1;
commit;
döngüye devam
şimdi,
1 saniye boyunca bu döngü sence kaç update ve lock yapar, bırakır sence hızlı bir serverda???
Bak tek bir kullanıcı var.
peki aynı uygulamayı 2 ayrı proses olarak çalıştır.
bir de aynı uygulamayı 100 terminalden çalıştır...
neler olacak sence????!!!
1.WAIT transaction kullanırsan, herşey tıkır tıkır işler, kör tuttuğunu update eder, binlerce kere..
2.NOWAIT kullanırsan, lock handle etmediğin için kesilir çoğu.
lock handle ederek kullanırsan, yine WAIT gibi işletebilirsin.
Şimdi baba soru geliyor!
1 saniyede binlerce kere el değiştirmiş bir lock işleminde, sen hangi kullanıcın lockladığını öğrenip napıcan? senaryoyu geliştir, neler neler olur aklın almaz..
aynı şeyleri anlatmaktan yoruldum.
istediğin gibi yap, kullan, ama herkesin okuduğu ve bişeyler öğrenmeye çalıştığı bir ortamda senin tutarsız isteklerini ortaya koyup konuşmazsam, bir sürü insanın yanılmasını önlememiş olurum, ve burda bulunma amacıma ters düşer! öğrenecekseniz, yapacaksanız, ilgileniyorsanız bu doğrusu olsun!
bişeyleri yanlış bilmek hiç bilmemekten daha tehlikelidir, unutmayın!