İ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]> > 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 >
_______________________________________________ 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
