Daha önceki yazımızda Golgen Gate genel anlamıyla tanıtmıştık.Şimdi ise bunu daha detaylandırıp yazı dizisi halinde vermeye çalışacağım.
Golgen Gate Performans-Ölçeklenebilirlik Yönetimi
Golden Gate Capture
Capture olaynın nasıl olduğunu tekrar hatırlayalım ;
Log tabanlı,değişikliklerin yakalanması için yüksek hacimli ve düşük iş yükü ile çalışır.Üretimden bağımsız,ayrı bir yapısı vardır.Çoklu CDC yapabileceği gibi herbir tabloda bölümler oluşturarak farklı CDC gerçekleştirebilir.
Golden Gate Capture gereksiz verilerin silinmesi,filitrelenmesi ve sıkıştırılması işlemlerini yaparak performansa yardımcı olur.Bunun en güzel örneği güncellemeleri ve silme işlemlerinin default compress olmasıdır.
Golden Gate Delivery
Üretimden bağımsız ayrı bir yapısı vardır.Çoklu taşıma olaylarını işler.Ayrıca tabloları bölümleyerek paralelel işlemde yapabilir.Küçük işlemleri gruplayarak tek bir seferde yaparak yığınların otomatik olarak düzenlenmesi ve kayıtların tek bir tablo içinde işlenmesini (gerektiğinde karıştırılarak) sağlar.
Bütünlük
Golden Gate dosyaları trail file’lara yazılır.İşlemler sıralı bir şekilde, otomatik olarak yapılır.Kontrol noktaları ve kurtarma işlemleri sırası bozulmadan kayıt sırasına uygun şekilde süreç yönetilir.
Güvenilirlik
Golden gate otomatik olarak başlatılabilir.İşlemler başladıktan sonra network kesintileri için gerekli müdahaleyi manuel olarak ayarlayabiliriz.
Dosya taşınması veya işlenmesinde hata olduğu durumlarda recovery için capture o anda nelerin işlemden geçip nelerin geçmediğini bize söyler.Tabi burda delivery ile ortak bir çalışma söz konusudur.
Kontrol Noktaları
Aşağıdaki şekilde dosya işleme sırasında olacak bir fail durumunda neler olacağını göstermektedir.Adım adım açıklayacak olursak;
Kaynak veritabanımızda gelen bazı komutlar kuyruk yapısına girerek okunmaya başlıyor.Capture önceki yazımızda belirttiğimiz gibi okuma başladığında değişikliklerin yakalanması ve filitrelenmesi görevini yerine getiriyor.Ve sonrasında sıralı bir şekilde trail dosyalarına geliyor.Burada dosyaların formatı ve sırası düzenleniyor.Yeşil alanlar, görüldüğü gibi begin,insert,commit sırası ile düzgün şekilde sıralanmıştır.Pump dosyaları(türkçede pompalama terimi tam olarak karşılık geliyor) verileri çift yönlü pompalıyor.Yani kaynak sistemden hedef sisteme taşınıyor.Target trail de görüldüğü gibi delivery alınan bu dosyalar üzerinde işlemler yaparak hedef veritabanına kaydediyor.
Oluşacak bir hata durumda kuyrukta bekleyen işlemler tekrar sıralanıp tekrar istekte bulunularak veri kaybının önüne geçmiş oluyoruz.
Golden Gate’de Heterojen Yapılar
Önceki makalemizde belirttiğimiz gibi golgen gate,hetorejen yapıda çalışabiliyordu.Golden gate core yapısı sayesinde tüm veritabanları için kullanılabilmektedir.Standart trail dosyaları ve metadata yapısı ile ortak veri türlerini otomatik olarak mappinglemektedir.Dosyalara doğrudan erişerek ,veriyi yakaladığı anda işleme sokabilen ve logunu tutabilen yapısı farklı sistemlerden gelen verilerin sorun olmasını engellemektedir.
Şimdi farklı ortamlarda capture nasıl davrandığına bakalım;
1.Oracle
Yukadaki şekilde Oracle için capture olayı gösterilmektedir.Arşiv dosyalarını veya online olarak işlenen dosyaların logları capture tarafından alınarak trail dosyalarına yazılıyor.
Bu sistem;
Oracle RAC,ASM,İndex-organized tabloları,Cluster tabloları,Object tabloları,DDL operasyonlarını desteklemektedir.Ayrıca paralel capture,ALO(Arcived log only) modlarınıda desteklemektedir.
2.SQL Server
Oracle’da olduğu gibi backup’ların alınması ve işlemlerin yakalanması şekli aynıdır.Farklı olan bağlantı birimleridir.SQL Serverda ODBC kullanılması gibi.
Bu sistem;
Backuplardaki verileri yakalama yeteneği vardır. SQL Server komponenetlerini kullanmak zorunda değildir.Hesaplanmış,identy kolonları destekler.
3.IBM DB2 LUW(Linux,Unix,Windows)
Online ve Arşiv loglarını okuyan kendine özgü log mekanızması vardır.Bağlantı DB2 CLI(Call Level Interface) ile olur.
Bu sistem;
Çok boyutlu kümelenmiş tabloları,Meteralized tablo query’lerini ve verilerin sıkıştırılmasını destekler.
4.IBM DB2 z/OS
Burda diğerlerinden farklı olarak IFI IFCID 0306 log mekanızmasını görüyorsunuz.Bu mekanızma logları compress ve uncompress edebilen ve logları merge edebilen yeteneğe sahiptir.Capture ve Trail dosyaları da USS (z/OS için gerekli bir bileşen olup mainframe mimarisi için optimize edilmiş yapıdır) alanında bulunmaktadır.
Bu sistem;
USS altında çalışır.Veri paylaşımını destekler.Otomatik EBCDIC/ASCII dönüşümü vardır.EBCDIC(Extended Binary Coded Decimal Interchange),ASCII ve Unicode kodlarınmış yapılarlar uyumludur.Ayrıca veri sıkıştırmayı destekler.
5.HP NonStop(Enscribe and SQL/MP)
Log mekanizmasından başlayacak olursak karşımıza TMF(Transaction Management Facility) denen bir yapı çıkıyor.İşlemlerin yönetim merkezi olarak çevirebileceğimiz bu yapıda denetim dosyaları ve denetim log’ları mevcuttur.
ARLIB(audit reading library) ile bu denetim dosyalarını okuyup AUDSERV aracılığı ile capture’a göndermektedir.Burda biraz AUDSERV yapısından bahsetmek istiyorum.Otomatik çalışan bu servis yapısında ver erişiminin sürekli olması için (nonstop) çalışmaktadır. Paralelinde başka bir kaydedici ile veritabanından gelen bilgiler değişikliklerin yakalanması ve filitrelenmesi için Capture gelir.Daha önceki yazımızda belirttiğimiz gibi Capture paralel çalışabilir.Sonrasında veriler trail dosyalarına aktarılmaktadır.
6.Teradata
Teradata ile sağlanan erişim modulu sayesinde Capture veriler gelir.(TAM olarak belirtilen kısım(Teradata Access Module) bunu yapar.) TAM dinamik olarak gerçek zamanlı bir paylaşım yapılmasını sağlar.CDC olayları RSG(Relay Services Gateway) ile çalışır.Max koruma ve max performans modu vardır.Windows ve Linux sistemlerini destekler.DDL komutlarına,LOB ve UDT datatiplerini destekler.
Capture’dan dosyalar sırasız olarak çıkar data sonrasında hedef sunucuya trail dosyalarını taşımaklar görevli olan Pump’ta sıralanarak başka bir trail dosyasında kaydedilir.
Delivery
Hetorojen sistemlerde Capture olaylarının nasıl olduğundan bahsettik.Aynı şekilde hetorojen ortamlarda Delivery’nin nasıl çalıştığına göz atalım.Şekilde görüldüğü gibi trail dosyalarından gelen verileri hedef veritabanına kaydeder.Herbir yapıya özgü API leri kullanan bu yapıda dizi işlemleri,işlemleri gruplama ve veri ambarları sistemleri içni flat dosyaların entegrasyonu gerçekleştirilir.
Bu makalemizde Capture,Delivery görevlerini daha ayrıntılı anlatmaya çalıştım.Golden gate’in özelliklerini ve hetorojen yapıda nasıl çalıştığına değindim.Bir sonraki makalemde bunlara ait örnekler ve diğer özelliklerinden bahsetmek istiyorum.
Görüşmek dileğiyle.
Kaynak: http://www.oracle.com/technetwork/middleware/goldengate/learnmore/index.html
Yusuf Arslan
yusufarslanbm@gmail.com adresinden bana ulaşabilirsiniz.
Latest posts by Yusuf Arslan (see all)
- ODI 12c Eğitimi - Oca 3, 2016
- Veri Ambarı & ODI Online Eğitim - Ara 18, 2015
- Katılımcı Yorumları - Eki 27, 2015