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

Cevap