28.01.2010 16:39, Ali Rıza Keleş yazmış:
On Thu, 2010-01-28 at 16:11 +0200, serkan wrote:
Merhaba,
Ben şu kısmını anlamadım,
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.
Bunlar ortak tablolar mı?
Doğru anladı isem, bence bunun yerine app2'nin de asıl mysql sunucu
olarak uzaktan srv1'deki mysql'e bağlanması daha sağlıklı olur replike
etmek yerine.
serkan
Evet tablolar ortak. Zaten kafama takılan da tam olarak bu işlemin
karşılıklı bir biçimde sağlıklı yapılıp yapılamayacağı. Yani bir anda
ikisinde de unique alanları ya da auto inc alanları eş durumlar söz
konusu olabilir.
Yani mesela:
Srv1 dekine şöyle bir kayıt girmiş olsun.
client_id |renew_period
-----------------------
34 |12
srv2 dekine de aynı ya da farklı değerle şöyle bir kayıt:
client_id |renew_period
-----------------------
34 |6
Tablo yapısında client_id unique ise nasıl olacak?
Aynı durum AI alanlar için de geçerli. Yani aynı tabloya kayıtlar
girildi.
Srv1 e böyle bir kayıt girdik:
client_id |name
-----------------------
34 |Yeni Müşteri
Srv2 ye böyle bir kayıt:
client_id |name
-----------------------------
34 |Yeni Başka Müşteri
Bunlar şu biçime getirebilecek mi?
client_id |name
-----------------------------
34 |Yeni Müşteri
35 |Yeni Başka Müşteri
Yani replikasyonu karşılıklı, anlık biçimde yapmak istiyorum. Yoksa
uygulamaya bir sürü ek yapmam gerekecek. app1 ile app2 giderek
farklılaşacak.
Teşekkürler..
--
Ali Rıza Keleş
2010/1/28 Ali Rıza Keleş<[email protected]>
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
--
serkan
_______________________________________________
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
merhaba,
* id'leriniz hiçbir zaman karışmaz. bunu düşünmeyin
*auto_increment_increment = 10*
*auto_increment_offset = 1*
satırları ile bu çözülüyor. Sorun farklı yerlerde çıkacaktır. Buraya
kafayı takmayın.
* Yüzbinlerce kayıt için master, slave replikasyonu iyidir.
Diğerinin *anlık *değişen bilgilerini güncellemiş olursunuz.
* Fakat sunucu yada internet hattı çökme durumunda diğer sunucu
aktif olsun derseniz iş master-master tarafına döner.
* Burada düşünmeniz gereken aslında master-masterın yada
replikasyonun durması olmalı. Aradaki bilgi akışını zaten mysql
gayet güzel yapıyor. Onu düşünmeyin bile. Repliksyonun durduğunu
çoğunlukla mysqli durdurmanız yada replikasyonu durdurup tekrar
başlatmanız gerekiyor. Ben öyle görmüştüm. Yanlış yapmışta
olabilirim.
* Replikasyonu durması ve canınızın sıkılması için, makinelerde
yeterli cpu+bellek kapasitesi kalmaması, diskte yer kalmaması gibi
deneyimlerim olmuştu. En azından ben böyle düşünüyorum.
_______________________________________________
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