Yüksek Erişilebilirlik Serisi – Replication 3
Makale serimize replication nedir ve replication ile ilgili temel tanımlardan bahsederek başlamıştık. Sonrasında replication tiplerini tanıyarak devam ettik. Bu makalemizde ise replication süreçlerini gerçekleştiren agent’lardan bahsediyor olacağız.
İlk makalemizde bahsettiğimiz replication rollerinin yerine getirilmesi için farklı tipte agent’lar kullanılmaktadır. Aynı zamanda bu agent’ların tamamı SQL Server kurulumu ile beraber gelen çalıştırılabilir dosyalardır. SQL Server tüm bu replication sürecini bu agentlar aracılığı ile organize eder ve bu anlatacağımız agent’ların tamamı SQL Server Agent servisi tarafından replication için tanımlı job’lar sayesinde organize edilirler. Bunun yanı sıra replication süreçlerinin gözlemlenmesi esnasında da SQL Server Agent job’larının önemli bir rolü vardır.
Şimdi bu agentları tanımaya başlayalım.
• Snapshot Agent: Adından da anlaşılacağı üzere snapshot replication süreçlerini gerçekleştiren agent olarak basit bir şekilde ifade edilebilir. Bu agent, dağıtılması istenen yayınların ilk verilerini hazırlar, snapshot dosyalarını saklar ve snapshot replication süreci ile ilgili bilginin distribution veritabanına kaydedilmesini sağlar. Snapshot agent distributor rolü olarak görev yapan veritabanı sunucusu üzerinde çalışır.
• Log Reader Agent: Transaction yani işlem tabanlı çalışan tek replication tipi olan transactional replication için çalışan agent olarak tanımlanabilir. Bu agent temel olarak transaction log dosyalarını okuyarak gelen transactionları distribution veritabanına kaydedilmesini sağlar. Transaction replication kullanılarak herhangi bir nesnesi yayınlanan her veritabanı için bir log reader agent mevcuttur. Log reader agent distributor rolü olarak görev yapan veritabanı sunucusu üzerinde çalışır.
• Distributor Agent: Yukarda bahsedilen her iki agent tarafından toplanan ve distribution veritabanına kaydedilmiş işlemlerin abonelerde uygulanmasını sağlar. Çalışma yeri abonlerde seçilen abonelik tipine göre farklılık gösterir. Eğer abonelik tipi push scription ise distributor rolü olarak görev yapan veritabanı sunucusu üzerinde, abonelik tipi pull subscription ise subscription rolü olarak görev yapan veritabanı sunucusu üzerinde çalışır.
• Merge Agent: Adından da anlaşılacağı üzere merge replication tipinde görev alan bir job’dır. Merge replication işlemi esnasında ilk snapshot kopya bu agent ile gönderilip uygulanır. Bunun yanı sıra değişen verinin yayıncı ve aboneler arasındaki mutabakatını da merge agent sağlar. Merge replication yapısı gereği merge agent hem yayıncıda hemde abonelerde çalışır.
• Que Reader Agent: Basit bir tanımla, güncelleme işlemlerini sıraya koyan agent olarak bilinir. Distributor rolü olarak görev yapan veritabanı sunucusu üzerinde çalışır ve her veritabanı sunucusu için sadece bir tane mevcuttur.
Bu makelemizde replication sürecinde görev yapan agentları tanımaya çalıştık. Bir sonraki makalemizde örneklerle snapshot replication tipinin detaylarından bahsedeceğiz.