UltraVB.Com | vBulletin Destek ve Geliştirme Forumu  

Geri git   UltraVB.Com | vBulletin Destek ve Geliştirme Forumu > Programlama > Yazılım > SQL Server

SQL Server SQL Server, Microsoft'un veritabanı sunucusudur. İşlevleri arasında veri depolama, gruplama ve analiz etme özellikleri vardır ve bu işlevselliklerini kısa sürede gerçekleştirebilme olanağı sağlamaktadır. Bu bölümde SQL Server ile ilgili son gelişmeleri, yenilikleri Türkçe olarak bulacaksınız.

Tags: , , ,

Cevapla
 
LinkBack Seçenekler Stil

Alt 02-06-2007   #1 (permalink)
Mendoza
 
SaidX - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2006
Nerden: Linux
Mesajlar: 474
Rep Gücü: 0
SaidX is an unknown quantity at this point
SaidX - MSN üzeri Mesaj gönder
SQL Server 2005'te Replikasyon

ReplikasyonYönetimi

Bu yazımda sizinle veritabanları arasında senkronizasyonu sağlayan ve verileriile veritabanı nesnelerini başka veritabanlarına kopyalarak veri kullanımınındaha etkin olmasını sağlayan teknoloji yani Replikasyon'a değinmekistiyorum.Tanımından da anlaşıldığı üzere replikasyon hem sistemin sağlamlığınıhem de hızını arttırmak için kullanılabilir.Sağlamlık için iki sisteminizolabilir ve ana sunucunuzda problem çıktığında yedek alana geçilebilir.

SQL server replikasyonu ile birçok problemçözülebilir.Örneğin;farklı yerlerdeki uzak kullanıcıların veriye lokal olarakerişmesi sağlanarak ,zaman kaybından ya da ağır çalışan güvenli olmayan ağsistemlerinden kurtulunabilinir.Veya mobil kullanıcıları bağlı oldukları ağdankoptuklarında işlem yaparlarsa ya da kopulan veritabanında işlem yapılırsatekrar ağa bağlandıklarında veri senkronizasyonunu sağlanabilirler.Bu gibiörneklerde de görüldüğü gibi kullanıcı tarafından düşünülecek olursak,kullanıcı ya çok yararı olan bir teknoloji.Peki yapılan bu işler olarakdüşünürsek sistemlere ne gibi yararları var? Replikasyonlarda kullanılanveritabanları fiziksel olarak aynıdır.Bu sayede OLTP(online transactionprocessing) ve OLAP(online analytical proccessing) işlemleri birbirindenayrılabilir.İçersinde çok veri bulunan veritabanlarında işlem yapılırken,işlemyapılma sürelerini kısaltır. Ya da web üzerinde çalışan ve yapılan işlemlerdebirden fazla veritabanını kullanan bir programımız olduğunu düşünelim.Böyle birsistemde yaptığımız bir işlemde farklı yerlerdeki birden fazla veritabanındaişlem yapılmasını beklemek yerine işlem tek veri tabanında yapılır veveritabanları bizim belirleyeceğimiz şekilde ve zaman aralıklarında kendiaralarında senkronize olurlar.
Replikasyon yapıları:
Article(Nesne):Replikasyonlardakopyalanmasına izin verilen article’lar:
  • <LI class=MsoNormal style="LINE-HEIGHT: normal">Tablolar (Tables) <LI class=MsoNormal style="LINE-HEIGHT: normal">Viewler (Views) <LI class=MsoNormal style="LINE-HEIGHT: normal">Indekslenmiş viewlar (Indexed views) <LI class=MsoNormal style="LINE-HEIGHT: normal">Hazırlanmış prosedürler (Stored Procedures)
  • Kullanıcı tanımlı fonksiyonlar (User Defined Functions)
Publication(Yayım):Replikasyon yönetimi ve işleyişini basitleştirmek. <LI class=MsoNormal style="LINE-HEIGHT: normal">Veri yoğunluğunu ve mantıksal ilişkileri temin eden bir birim sağlar.Peki bu Replikasyon nasıl yapılır ?
Replikasyonlardagenel olarak üç kavramvardır.Publisher(yayımcı),Subscriber(abone), Distributor(dağıtımcı)...
  • <LI class=MsoNormal style="LINE-HEIGHT: normal">Publisher (Yayımcı): Veritabanının sahibi,Verilerin değişiklik yapılabileceği tek yer. <LI class=MsoNormal style="LINE-HEIGHT: normal">Subscriber (Abone): Yayımcıdan gelen son verilerin kopyalarının saklandığı yer.Bazı konfigurasyonlarda aboneler sadece okunabilir (read-only) veritabanı kopyasına sahiptirler,diğer Biçimlerde ise bilgiler aboneler tarafından güncellenip yayıncıya bu değişiklikleri iletebilirler.
  • Distributor (Dağıtımcı):Dağıtılacak olan veritabanını yönetmekle hükümlüdür,SQL Server tarafından kopyalanan gerçek verilere sahiptir. Eğer Tek bir sunucunun aynı anda hem yayımcı hemde dağıtımcı olabildiği duruma dağıtımcı’ya lokal dağıtımcı(local distributor),yayımcı ve dağıtımcının farklı sunucular altında olması durumda ise dağıtımcıya uzak dağıtıcı (remote distributor)adı verilir.
Bu kavramları genel olarak açıklayacakolursak en uygun örnek kitap örneği olur.Bir kitabıdüşünelim.Yayıncı(Publisher) kitabı basar ve okuyucuların alabilmesi içinkitabı kitapevlerine(Distribütör).Buradan da okuyucular(Subscriber) kitabıalır.SQL server içersinde de bu olayın aynısı gerçekleşir.Replikasyon için ilkönce bir distribution olması gerekir.Daha sonra ise Publisher kısmınıayarlamamız gerekir.Publisher’da olan veri bizim kaynak verimizdir.Yani diğerveritabanlarına göndereceğimiz verimizdir.Publisher,dağıtılacakverileri,tabloları veya tablolarla bağlantılı olabilecek hazırlanmışprosedürleri replikasyon için hazırlar,dağıtılacak veri üzerinde değişikliklerolmuş ise onları kontrol eder ve hazırlanan verileri dağıtım içindağıtımcıya(Distributor) gönderir.Dağıtılan veri(Published Data),birtablo,tablonun bir parçası,bir view,bir stored procedure veya bir kullanıcıtanımlı fonksiyon olabilir.En son kısımda ise bir Subscriber yani alıcınıneklenmesi gerekir.Subscriber dağıtılan verilerin bir kopyasını kendine alır.Yadağıtıcı(Publisher) ya da alıcı (Subscriber) yenilenen verileri alıcı üzerineverme veya alma işlemi yapabilirler.Yeni verileri alma işlemi iki şekildeolabilmektedir.
  • <LI class=MsoNormal style="LINE-HEIGHT: normal">Push Subscription: Dağıtıcıda(Distributor) bulunan veriler alıcıya(Subscriber)kopyalanır.
  • Pull Subscription: Alıcı(Subcriber) veriyi kendisi kontrol eder ve alır.
NOT:Veriyi dağıtıcının kontrol etmesidaha mantıklıdır.Böylece her bir alıcı tarafından işlem yapılmasına gerekkalmadan dağıtıcı veriyi kontrol ederk merkezi olarak gönderebilir.Bu da tabikiperformansı etkiler.Peki alıcının veriyi kendisi alması yani pull subscriptionniçin kulanılır?Eğer bir replikasyonda çok fazla alıcı(Subsriber) varsaverininbu şekilde alınması daha doğru olacaktır.
Peki bu Replikasyon işlemlerini bu üçkavram arasında nasıl gerçekleştiriyoruz ?

Replikasyon tipleri :Snapshot Replication(Ani,Şipşak Replikasyon):</B> Tam olarak yedek alma ve restore etme işlemini sağlar.Yayınların(Publication) alıcıya doğru gitmesiyle oluşan bir işlem gerçekleşir,verilerin ve veritabanı objelerinin kümelerinin taşınmasını sağlar.Veriler nadiren değişir.
<LI class=MsoNormal style="LINE-HEIGHT: normal">Belli zaman aralıklarında yayıncıya bağlı olarak değişen zamanı geçmiş verilerin kopyaların taşınması gerçekleşir. <LI class=MsoNormal style="LINE-HEIGHT: normal">Ufak veri parçaları taşınır. <LI class=MsoNormal style="LINE-HEIGHT: normal">Değişikliklerin büyük bir çoğunluğu çok kısa bir zaman içersinde gerçekleşir.(Hızlı) Bu replikasyona örnek olarak herhangi bir satış organizayonunu verebiliriz.Bu organizasyon bir satış listesini ve aynı anda güncellenen fiyatları her yıl bir ya da iki kez bütün değişen snapshot verisini kopyalaması .<LI class=MsoNormal style="LINE-HEIGHT: normal">Transactional Replication(İşlemsel Replikasyon): Tipik olarak yayınlanan verilerin ve veritabanı objelerinin snapshot ile başlar. Verilerin ilk ve tam kopyasını alır ve bütün sonradan oluşan kopyalar üzerinde sadece düzeltilmiş veriler transfer edilir.(Log) Bu işlemler transaction log dediğimiz dosyalar aracılığıyla kullanılarak gidecek olan veriye uygulanır.Aynı işlemler kaynak veride de yerine getirilir.Bazı değişiklikler de yayıncı ve abonelerde benzer biçimde uygulanır.
  • <LI class=MsoNormal style="LINE-HEIGHT: normal">Local Publications
  • Local Subscriptions
Local Publications'a sağ tıklayıp NewPublication diyoruz.
Daha sonra çıkacak olan Wizard menüsündeNext diyerek ilerliyorum
Bu noktada hangi veritabanından kopyalamakistediğimiz bilgileri seçiyoruz.
Bu pencere ise en önemli noktalardanbirisidir.Yukarıda da bahsettiğim üzere bütün replikasyon çeşitleri en baştaher zaman snapshot replikasyonu yapıyorlardı,bende burada snapshot olarak seçimyapıyorum,alttaki kutuda ufak bir bilgi kutusuda mevcut
Bu pencere de ise replikasyon yapılacakolan article nesnelerini seçiyorum.
Bu noktadan sonra filtre seçeneklerimevcut
Burada ise Snapshot Agent için gerekliseçenekleri işaretliyorum
Şimdi ise en lazım olan kısım yaniSecurity kısmına geldik.Burada Snapshot agent'ın işleyişinin çalışacağı domaingirişlerini tanımlıyorum.
Wizard üzerinde göreceğiniz sonpencerede ise Create publication seçeneği ile sadece publication'ı oluşturacakkodlar yani scriptleride yaratıp onları bilgisayarınız üzerinde istediğinizyere koyabilirsiniz.Daha sonra ise yarattığınız Publication olayına bir isimveriyorsunuz
Publication oluştuktan sonra sizetanımladığınız işlemlerin olup olmadığını gördüğünüz bir Creating Publicationpenceresi açacaktır daha sonra tekrar Object Explorer'a bakacak olursakPublication'ın yaratıldığını görebilirsiniz.
Şimdi ise Publication'ını yarattık zatenDistributor de olduğumuza göre artık Subscription yapma zamanıgeldi,Distributor üzerinden direk Subscriber'lara yapılan replikasyon PushSubscription'dı.Bu sefer Local Subscription klasörüne sağ tıklayarak NewSubscription diyoruz.Karşımıza bir Wizard daha çıkıyor.
Bundan sonra yarattığımız publication'ıseçiyoruz.
Önemli bir yere daha geldik şu anda bizPush yapacağız ama distributor üzerinde olduğumuzu otomatik olarak gördüğündendolayı Push seçeneğini işaretlemiş durumda
Bundan sonra gelecek pencerede ise birya da birden fazla olabilen subscriberları ve onlara publication'ıgöndereceğimiz veratabanını seçiyoruz
Agent düzenek penceresine geldik,tekrarburada agent'a istediğimiz zaman aralığında seçim yaptırabiliyoruz.
Bu pencerede ise daha önceki penceredeyaptığımız senkronizasyonu aktif ediyoruz
Artık istediğimiz zaman replikasyonyapabilir duruma geldik,bu noktadan sonra ayarladığımız durumlara göresenkronizasyon olacaktır.Yarattığımız aboneliği tekrar yarattığımız yayınınaltında görebilirsiniz.
En basit mantığıyla replikasyonuanlatmaya çalıştım arkadaşlar,umarım sizde bunu gerçekleştirebilirsiniz...
__________________
sevince...
SaidX isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla

Cevapla

Anahtar Kelimeler
2005te, replikasyon, server, sql





Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Şu Anki Saat: 20:30


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
Beşiktaş Tezahüratları