|
|
|
|
|
 |
SQL Habergrubu |
|
 |
|
En Son SQL Server ile İlgili Okuduğum Kitaplar |
- Accelerated SQL Server 2008 - Apress (İngilizce)
- Designing and Optimizing Data Access by Using SQL Server 2005 - MS Press (İngilizce)
- Microsoft SQL Server 2005 Database Solutions Design - Wiley Publishing (İngilizce)- Optimizing and Maintaining a Database Administration Solution by Using SQL Server 2005 - MS Press (İngilizce)- Designing a Database Server Infrastructure Using SQL Server 2005 - MS Press (İngilizce)- SQL Server 2005 Implementation and Maintenance - MS Press (İngilizce)
- SQL Server 2005 Administrators Companion - MS Press (İngilizce) |
|
|
REPLICATION TEKNOLOJISINDE KULLANILAN AGENT’ lar
Yukarıda bahsetmiş olduğum yayınlama, itme, çekme gibi işler, Agent’ lar vasıtasıyla
yapılıyor. Replication yapısında beş adet Agent bulunmaktadır. Her Agent aslında
SQL Server’ dan bağımsız olarak uygulama şeklinde çalışırlar. Yani her Agent aslında
bir uygulama (exe) dosyasıdır. Biraz da bu Agent’ lardan başlıklar halinde bahsedelim.
O zaman inanıyorum ki işlevleri ve yapıları daha iyi anlaşılacaktır.
Snapshot Agent (snapshot.exe) : Snapshot Agent, Replication’ ın tüm yöntemlerinde
kullanılan bir Agent’ tır. Tabloların ve diğer nesnelerin Şema (Schema) ve veri
dosyalarını hazırlar. Snapshot dosyalarını depolar ve Dağıtım (Distribution) veritabanına,
eşleşmeler (senkronizasyon) hakkındaki bilgileri kaydeder. Snapshot Agent, Dağıtıcı
(Distributor) ‘nın üstünde çalışır. Yani Dağıtıcı görevi hangi SQL Server sunucusundaysa,
Snapshot Agent da orada çalışır.
Log Reader Agent (logread.exe) : Log Reader Agent, sadece Transactional Replication
yönteminde kulanılır. Yayıncının (Publisher) yayınladığı veritabanının Transaction
Log’ unda bulunan ve Replication işlemi için işaretlenen kayıtları, Dağıtıcı (Distributor)
görevini yapan SQL Server’ daki Dağıtım (Distribution) veritabanına taşır. Transactional
Replication kullanılarak yayınlanan her veritabanının, Dağıtıcı’ da çalışan ve Yayıncı’
ya bağlanıp verileri alan Log Reader Agent’ ı vardır.
Distribution Agent (distrib.exe): Distribution Agent, Snapshot Replication ve Transactional
Replication ile birlikte kullanılır. Başlangıç bilgilerini Abone’ ye (Subscriber)
uygular; ayrıca Dağıtım (Distribution) veritabanında bulunan işlemleri de abonelere
aktarır. Eğer Replication veri aktarma şekli olarak çekme (Pull) şekli kullanılırsa,
Distribution Agent, Abone’ lik yapan SQL Server sunucusunda çalışır; Eğer itme (Push)
kullanılırsa, o zaman da Dağıtıcı görevini üstlenen SQL Server’ da çalışır.
Merge Agent (replmerg.exe): Merge Agent, sadece Merge Replication yönteminde kullanılan
bir Agent’ tır. Distribution Agent’ ın Snapshot Replication ve Transactional Replication’
da yaptığı görevi yapar. Başlangıç bilgilerini Abone’ ye uygular ve Dağıtım veritabanında
bulunan işlemleri de abonelere aktarır. Her Merge Replication abonesinin, Yayıncıya
ve Aboneye bağlayıp verileri güncelleyen kendi Merge Agent’ ları vardır. Gene Distribution
Agent’ ta olduğu gibi veri aktarma yolu olarak Çekme yöntemi kullanılırsa Merge
Agent Abone’ de çalışır, eğer İtme yöntemi kullanılırsa da Dağıtıcı’ da çalışır.
Merge Agent, varsayılan olarak, değişiklikleri Abone’ den Yayıncıya gönderir ve
Yayıncı’ daki veritabanında yapılan değişiklikleri de Abone’ nin veritabanına yansıtır.
Queue Reader Agent (qrdrsvc.exe): Queued Updating seçeneği ile birlikte Transactional
Replication’ da kullanılır. Bu Agent, Dağıtıcı’ da çalışır ve Abone’ de yapılan
değişiklikleri Yayıncıya aktarır. Distribution Agent ve Merge Agent’ ın aksine,
sadece bir Queue Reader Agent örneği vardır.
PUBLISHER, DISTRIBUTOR ve SUBSCRIBER
SQL Server Replication teknolojisini SQL Server’ ın tüm sürümlerinde kullanabilirsiniz.
Fakat kullandığınız sürüme göre, bazı kısıtlamalar vardır. Genel olarak aşağıdaki
tabloda bu kısıtlamaları bulabilirsiniz.

SQL Server sürümleri arasındaki farkları daha ayrıntılı görmek için şu adresi ziyaret
edebilirsiniz:
http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx
Duruma göre, Replication kurulumlarında Publisher ve Distributor bir SQL Server
sunucusu üzerinde konuşlandırılabilir. Bu, sisteminizdeki yük miktarına bağlı olarak
değişir. Eğer sisteminizdeki yük fazla değilse ve SQL Server sunucunuz hem Publisher
hem de Distributor görevlerinin yükünü kaldırabilecekse, o zaman Replication topolojinizi
bu yönde şekillendirebilirsiniz. Yani Yayını, Yayıncı yayınlar ve dağıtır. Yalnız
bu, Dağıtıcı’ nın aradan kalktığı anlamına gelmemektedir. Sadece Yayıncı ve Dağıtıcı’
nın aynı SQL Server üzerinde konuşlandırılacağı anlamına gelir. Sistem, gene aynı
şekilde işler. Bu şekilde, merkezde bir SQL Server sunucusu kullanmış olursunuz.
Bu da hem donanım, hem de lisans tasarrufu sağlar. Fakat yükün fazla olduğu ortamlarda,
Publisher ve Distributor görevlerini ayrı ayrı SQL Server sunucularında gerçekleştirmek
kaçınılmazdır.
Bu arada, veri aktarma yöntemi olarak İtme (Push) ve Çekme (Pull) yöntemlerine de
bu noktada tekrar değinmek istiyorum. Neden ve neye göre İtme ve Çekme yöntemlerini
kullanırız? Nedeni şu, Eğer dağıtım işiyle ilgili Agent’ ın (Yukarıda da bahsettik:
Distribution veya Merge Agent) yükünü Distributor’ a yüklemek istiyorsak, Push kullanıyorduk;
yani veri Distributor vasıtasıyla Publisher’ dan alınıyor ve Subscriber’ lara doğru
itilmek suretiyle gönderiliyoruz. Eğer Distributor görevini ifa eden SQL Server’
daki bu yükü azaltmak istersek, o zaman Pull yöntemini kullanarak bahsini ettiğimiz
Ditribution ve Merge Agent’ ın Subcriber’ lar üzerinde çalışmasını sağlıyoruz. Böylece
yük sadece bir noktada toplanmamış oluyor, yükü abonelere dağıtıyoruz. Fakat Distributor
bu görevi rahatlıkla ifa ediyor ise ve kısa ve orta vadede de geniş çaplı bir büyüme
beklenmiyorsa, o zaman bu Agent’ lar Distributor üzerinde çalıştırılabilir; böylece
Distribution ve Merge Agent’ larının yükleri güçsüz Abone cihazlarına yüklenmemiş
olur.
|
< Önceki sayfa
Sonraki sayfa >
|
|