24 Ocak 2014 Cuma

MSSQL Replication

Sql Server aşağıdaki üç tip çoğaltmayı destekliyor:
  • · Transactional replication
  • · Merge replication
  • · Snapshot replication

Ana veritabanına Publisher, dağıtılacak veritabanlarına ise Subscriber diyoruz.

Transactional replication
Bu çoğaltma yöntemi veritabanındaki objelerin ve dataların snapshot’ının (birebir görüntüsünün) alınmasıyla başlıyor. Snapshot alındıktan sonra Publisher veritabanında oluşan data değişiklikleri ya da şema değişiklikleri anında (çok kısa bir gecikmeyle) Subscriber veritabanına dağıtılıyor. Publisher veritabanında oluşan data değişiklikleri Subscriber veritabanına aynı sırayla ve aynı transaction’larla dağıtıldığı için transaction tutarlılığı garanti ediliyor.

Bu replication yöntemini kullanmak aşağıdaki senaryolar için kullanışlı:
. Publisher veritabanında oluşan değişikliklerin yapıldığı haliyle Subscriber veritabanında olmasını istiyorsanız
. Publisher veritabanı ile Subscriber veritabanı arasındaki farkın minimum olmasını istiyorsanız
. Örneğin bir satır beş defa değiştiyse, son halinin değil de tüm 5 değişikliğin de sırasıyla Subscriber veritabanında oluşmasını istiyorsanız
. Publisher veritabanı yüksek insert, update ve delete hareketlerine sahipse
. Publisher ya da Subscriber veritabanı MsSql değilse

Default olarak, Subscriber veritabanı read-only olmalıdır çünkü Subscriber veritabanında yapılan değişiklikler Publisher veritabanına uygulanmaz ama Subscriber veritabanının update edilebilmesini sağlayan bir seçenek de mevcuttur.


Merge replication
Merge replication da transactional replication gibi Publisher veritabanının snapshotını alarak başlar. Daha sonra Publisher ve Subscriber’da oluşan değişiklikler triggerlar yardımıyla takip edilir. Subscriber network’e bağlandığı an Publisher ve Subscriber arasındaki tüm değişiklikler birleştirilir.

Merge replication aşağıdaki durumlar için uygun:
. Bir veyahut daha çok Subscriber aynı datayı değişik zamanlarda değiştirip, Publisher’a ve diğer Subscriber’lara dağıtmasını istiyorsanız
. Subscriberların datayı alıp üzerinde offline olarak çalışıp daha sonra senkronize etmesini istiyorsanız
. Her Subscriber’ın datanın değişik kısımlarına ihtiyacı varsa
. Çakışmalar olabileceği için, bunları farkedip çözebilmelisiniz
. Kullandığınız uygulamalar en son değişikliği istiyorsa, örneğin bir satır beş defa değiştiyse, beş değişikliği değil de en son halini istiyorsa

Merge replication birden çok uygulamanızın birbirinden bağımsız olarak çalışıp daha sonra bu bilgileri birleştirmek için kullanabileceğiniz bir yöntemdir.


Snapshot replication
Bu replication yöntemi güncellemeleri takip etmeden belirtilen zamanda tüm datayı birebir kopyalarak Subscriber veritabanını günceller.

Aşağıdaki durumlar için kullanılabilir:
. Datalar nadir olarak değişiyorsa
. Subscriber veritabanındaki dataların biraz eski olması kabul edilebilirse
. Varolan datanın küçük bir kısmı dağıtılıyorsa
. Varolan datanın büyük bir kısmı kısa bir aralıkta değişiyorsa
Transactional
Merge
Snapshot




Hiç yorum yok:

Yorum Gönder