Merhaba Atıf Bey,

Master-slave replikasyonu şu şekilde mi çalışıyor?:
Örneğin 5 dakikada bir, o ana kadar master'da gerçekleştirilen update ve 
insert komutları slave'e gönderiliyor ve bu komutlar slave üzerinde 
çalıştırılıyor.

Yoksa; Master'daki her bir update/delete anlık olarak mı güncelleniyor?

Selamlar,
Nuri Akman


29.01.2010 00:32, Atıf CEYLAN yazmış:
> Merhaba,
> konunun tamamını takip edemedim malesef, buradaki yazdıklarınıza
> istinaden nacizane tavsiyem, master-slave replication olacak. yanlış
> hatırlamıyorsam mysql ndb vardı bir zamanlar. zahmetsiz bu işi
> hallediyor diye biliyorum.
> yazdığınızdan anladığım kadarı ile değişen veriniz hayli az. bu nedenle
> master-slave replication işinizi fazlası ile görecektir. temel mantığı;
> slave olan db belirlediğiniz sürelerde kendini, master db'den günceller
> (örn. her dakikada). aynı uygulamanızın iki kopyası var sanırım,
> uygulamanızda insert, uğdate, delete işlemlerini master db'den select
> işlemlerini oransal olarak her  ikisinden yaparsınız. böylece hem
> poolingde yapmış olursunuz. uygulama içinde bağlantı noktasında if
> (!$db1) baglan(db2) benzeri bir kontrolle kullanıcılarınızın aksaklıktan
> haberdar olmadan işlerine devam etmelerinide sağlamış olursunuz.
>
> kolay gelsin.
>
> Nuri Akman wrote:
>    
>> Merhaba,
>>
>> Sanırım sizinkine benzer bir durum da benim başımda. Bende durum
>> şöyle: İnternette aktif olarak çalışan PHP+MySQL uygulamam var. Ancak,
>> "sunucum herhangi bir zamanda devre dışı kalırsa ne olacak?" korkum
>> var. Veritabanımda on binlerce satır veri olmasına rağmen bunların
>> sadece en son 500 - 700  tanesi GÜN İÇİNDE ekleniyor veya
>> değiştiriliyor. Eski kayıtlar olduğu gibi kalıyor ve hiç bir şekilde
>> delete/update yapılmıyor.
>>
>> Aktif sunucu üzerindeki PHP dosyalarımı fiziksel olarak uzakta bulunan
>> başka bir sunucuya da yükledim. Aynı sunucuda PHP+MySQL çalışıyor.
>> Veritabanını da olduğu gibi kopyaladım ve sistem, bu sunucu üzerinden
>> de hizmet veriyor.
>>
>> *Sorun da burada başlıyor: *
>> Her yeni işlemle birlikte ikinci sunucudaki veritabanım güncelliğini
>> yitiriyor. İşte tam bu noktada replikasyon ihtiyacım var diyorum.
>>
>> *Senaryoyu işleme koyalım: *
>> Sunucu 1 devre dışı kalmış. Kullanıcılar, bunu görüp Sunucu 2'den
>> devam ediyorlar.
>>
>> Herhangi bir metodla Sunucu 2'ye aktardığım veriler ne kadar güncelse
>> kullanıcılarım da o kadar güncel bir sistemde çalışıyorlar. Bu metod
>> manuel bir şey de olsa, replikasyon da olsa amacımıza ulaştık demektir.
>>
>> *Peki sonrasında ne olacak?*
>> Sunucu 2 bir süre hizmet verdi ve üzerine yeni veriler eklendi /
>> güncellendi, ancak Sunucu 1 bundan habersiz.
>>
>> Acaba ihtiyaçlarımız benzeşiyor mu?
>>
>> Selamlar,
>> Nuri Akman
>>
>>
>> 28.01.2010 15:24, Ali Rıza Keleş yazmış:
>>      
>>> On Thu, 2010-01-28 at 14:49 +0200, Nuri Akman wrote:
>>>
>>>        
>>>> Merhaba,
>>>>
>>>> Mesajınıza baktığımda, amacınızın replikasyon olduğunu belirtiyorsunuz,
>>>> ancak buna neden ihtiyaç duyduğunuzun yanıtını göremiyorum. Bu konuda
>>>> bilgi verebilir misiniz? Veritabanınızı replike edince ne olmasını
>>>> umuyorsunuz?
>>>>
>>>>          
>>> Daha detaylı anlatayım...
>>>
>>> Intranet çalışan bir uygulamam var. Uygulama Vertabanı ile birlikte
>>> yerel bir sunucuda. Sistem Debain Lenny. Buna srv1 diyelim üzerindeki
>>> uygulamaya app1, vertabanına ise vt1.
>>>
>>> Aynı uygulamanın daha sınırlı bir kopyası Internet üzerinde başka bir
>>> sunucuda.. Bunlara da sunucu srv2, uygulama app2, veritabanına ise vt2
>>> diyelim. Bu da aynı biçimde Debian Lenny.
>>>
>>>
>>> Esas datalar srv1 üzerinde app1 ile vt1 e işleniyor. İlk istediğim bu
>>> işlemlerin kopyaları aynen srv2 üzerindeki vt2 ye birebir kopyalanması
>>> ve app2 nin kullanımına hazır hale gelmesi.
>>>
>>> Yereldeki kadar olmasa da srv2 deki app2 bir miktar datayı bağımsız
>>> biçimde üretip vt2 ye kaydedecek. Bu vt2 ye kaydedilen datalarında aynen
>>> yereldeki vt1 'e kaydedilmesini istiyorum.
>>>
>>> Bunun yanında, ilerisi için soruyorum bunu, başka bir lokasyonda 3. bir
>>> sunucu eklediğimde, srv3, app3 ve vt3 diyelim, 3 sunucuyu da yukarıdaki
>>> ikisi gibi nasıl çalıştırabilirim.
>>>
>>> vt1-vt2 replikasyonu
>>> vt2-vt3 replikasyonu
>>>
>>> işimi görür mü?
>>>
>>> Eğer replikasyondan haberdar olmasaydım, şöyle çözecektim:
>>>
>>> 1- srv1 üzerindeki dataları bir biçimde ve sürekli şekilde web
>>> üzerindeki sunucuya da kaydedecek,
>>>
>>> 2- srv2 de üretilen datayı geçici tablolara kaydedip, app1 in isteği
>>> üzerine, kullanıcının tetiklemesi ya da otomatik, hem srv1 e hem de srv2
>>> ye kaydedecektim.
>>>
>>>
>>> Son olarak bütün bu işlemleri ssl ile yapmak istediğimi söyledim. Ben
>>> soruma yanıtımı genel olarak aldım ama güzel bir konu, daha çok
>>> paylaşabiliriz.
>>>
>>> İlginiz için teşekkür ederim.
>>>
>>> --
>>> Ali Rıza Keleş,
>>>
>>>
>>>
>>>
>>>
>>>        
>>>> Selamlar,
>>>> Nuri Akman
>>>>
>>>>
>>>> 27.01.2010 18:11, Ali Rıza Keleş yazmış:
>>>>
>>>>          
>>>>> Merhaba,
>>>>>
>>>>> Veritabanı replication(yanıtınızda uygun gördüğünüz Türkçe karşılığını
>>>>> yazarsanız, bundan sonra onu kullanırım.) konusunda önerinizi almak
>>>>> istiyorum. Biraz okudum, eğer çözüm bu ise derinleşeceğim.
>>>>>
>>>>> Durum şöyle:
>>>>>
>>>>> Vt1: insert/update/delete işlemleri yoğun olacak,
>>>>>
>>>>> Vt2: Select işlemleri çok yoğun olacak ama bu işlemlerin kayıt altına
>>>>> alınması için gerekli olan bazı insert işlemleri de yapılacak. Vt1 in
>>>>> işleyeceği temel tablolarda çok nadiren insert işlemleri yapılacak.
>>>>>
>>>>> Vt1 deki ve Vt2 deki her türlü değişikliğin aynı anda karşılıklı
>>>>> işlenmesini istiyorum. Bunu master-master replication ile yapabilir
>>>>> miyim?
>>>>>
>>>>> Aklıma takılan bazı problemler:
>>>>>
>>>>> 1- Bu iş için en uygun çözüm replication(master-master) mı?
>>>>>
>>>>> 2- İşlem çakışmaları yaşıyabilir miyim? AutoIncrement alanlar nasıl
>>>>> olur? Yani aynı anda vt1.tablo1 ve vt2.tablo1 e data girildiğinde ve
>>>>> aynı AI değeri aldıklarında veri kaybı, replikasyonun çökmesi gibi
>>>>> sorunlar yaşar mıyım?
>>>>>
>>>>> 3- Sunucular aynı lokasyonda değiller. Birisi internet üzerinde,
>>>>> diğer(ler)i yerel ağ(lar)da. Genelde aynı ağda olması yönünde tavsiyeler
>>>>> gördüm? Böyle olması çok zorluk çıkarır mı?
>>>>>
>>>>> 4- Vt1 özelliklerinde bir vertabanı daha (Vt3) bu kompozisyona
>>>>> eklenebilir mi? Yani Vt1-Vt2 ve Vt2-Vt3 şekline Vt2 aynı anda hem Vt1 ve
>>>>> Vt2 ile replikasyon yapılabilir mi?
>>>>>
>>>>> 5- Bu işlem sırasında SSL kullanabileceğimi de okudum. Aynı lokasyonda
>>>>> olmadıkları için sizce performansı nasıl etkiler?
>>>>>
>>>>> Teşekkür ederim.
>>>>>
>>>>> --
>>>>> Ali Rıza Keleş,
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Linux-sunucu E-Posta Listesi
>>>>> [email protected]
>>>>>
>>>>> Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
>>>>> okuyabilirsiniz;
>>>>>
>>>>> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
>>>>> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
>>>>> dakika içinde üyeliğinizi sonlandırabilirsiniz.
>>>>> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>>>>>
>>>>>
>>>>>            
>>>> _______________________________________________
>>>> Linux-sunucu E-Posta Listesi
>>>> [email protected]
>>>>
>>>> Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
>>>> okuyabilirsiniz;
>>>>
>>>> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
>>>> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
>>>> dakika içinde üyeliğinizi sonlandırabilirsiniz.
>>>> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>>>>
>>>>          
>>> _______________________________________________
>>> Linux-sunucu E-Posta Listesi
>>> [email protected]
>>>
>>> Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
>>> okuyabilirsiniz;
>>>
>>> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
>>> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
>>> dakika içinde üyeliğinizi sonlandırabilirsiniz.
>>> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>>>
>>>        
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Linux-sunucu E-Posta Listesi
>> [email protected]
>>
>> Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
>> okuyabilirsiniz;
>>
>> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
>> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
>> dakika içinde üyeliğinizi sonlandırabilirsiniz.
>> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>>
>>      
>
>    
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap