İlk dediğiniz şekilde. Ancak 5 dakika değil 1 saniyede bir,
ayarlanabiliyor ama oldukça kısa bir zaman.
serkan
2010/1/29 Nuri Akman<[email protected]
<mailto:[email protected]>>
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]
<mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[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]
<mailto:[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