2. 2
Informatica Pushdown Optimization
Bu bölümde…
Pushdown Optimization Nedir ?
Two-Pass Pushdown Nedir ?
Partial Pushdown Nedir ?
Full Pushdown Nedir ?
Ahmet Sedef
3. 3
Informatica Pushdown Optimization
Pushdown Optimization Nedir…
Performans ve esneklik sağlar.
Database kaynaklarını kullanılır.
Transformasyonlara göre şekillenir.
SQL scriptleri ve geçici nesneler oluşturur (create &
drop).
Ahmet Sedef
4. 4
Informatica Pushdown Optimization
Two-Pass Pushdown…
Kaynak Transformasyon SQL üretimi,
Mapping’de Source’dan gelen data ve transformasyonlar için
SQL üretir.
Select SQL Cümleciklerini Üretir.
Hedef Transformasyon SQL üretimi,
Mapping’de Source’dan gelen data ve transformasyonlar için
SQL üretir.
INSERT, DELETE ve UPDATE SQL Cümlecikleri Üretir.
Ahmet Sedef
5. 5
Informatica Pushdown Optimization
Partial Pushdown…
Kaynak Transformasyon SQL üretimi,
Mapping’de Source’dan gelen data ve transformasyonlar için
SQL üretimi,
Create view PM_ERETRDS as select id, sum(sallary) from emp group by id;
Ahmet Sedef
6. 6
Informatica Pushdown Optimization
Partial Pushdown…
Hedef Transformasyon SQL üretimi,
Mapping’de Source’dan gelen data ve transformasyonlar için
SQL üretimi,
Insert into emp as select id, salary from PM_GFG where salary > 1000;
Ahmet Sedef
7. 7
Informatica Pushdown Optimization
Full Pushdown…
Source ve Target Aynı Databasede olmalı,
Eğer Full Pushdown Yapamazsa, Target Side Pushdown yapar.
Ahmet Sedef
8. 8
Informatica Pushdown Optimization
Nasıl Çalışır…
ODBC & Native Drivers
Native Drivers Esnekliği
Geçici Database Nesneleri Kullanma,
(Create & Drop)
Ahmet Sedef
11. 11
Informatica Pushdown Optimization
Daha iyi bir Pushdown için...
Source Qualifier
Kısa Yolları Kullanma,
Default Query Options(Join & Filter) Kullanma,
SQL override yapmaktan kaçınma.
Expressions
Gereksiz hesaplamalar yerine Local Variable Kullanma,
Datatype Conversionlardan Olabildiğince Kaçınma,
Operatorleri (||,+,/,..) Mümkün Olabildiğince Kullanma,
Informatica Dışı Komutları Kullanmaktan Kaçınma.
Ahmet Sedef
12. 12
Informatica Pushdown Optimization
Daha iyi bir Pushdown için...
Filter
Mappingde Source Qualifier’e Olabildiğince Yakın Yerde Olmalı,
Birden Çok Filter Kullanmak Yerine Router Kullanılmalıdır.
Aggregator
Mappingde Sort Qualifiere Olabildiğince Yakın Yere Sorter
Konulmalıdır,
Eğer Filter Kullanılıcaksa Agrregator’dan Önce Kullanılmalıdır.
Ahmet Sedef
13. 13
Informatica Pushdown Optimization
Daha iyi bir Pushdown için...
Joiner
Source Qualifer’de joinleri Kullanma,
Outer Joinlerden Kaçınma,
Lookup
Expressionda Unconnected Lookup Kullanma (IFF),
Büyük Lookup Tablolarında Lookup Yerine join Kullanma,
Mümkünse Tablolarda İndeks Oluşturma,
Session Cache Calculator Kullanma.
Ahmet Sedef
14. 14
Informatica Pushdown Optimization
Dikkat Edilmesi Gerekenler..
Null Sıralaması
Integration Service ile Database’in öncelik sırası farklı olabilir.
Değişkenlerde SYSDATE kullanımı
Integretion Service çalıştırken, Database ise session zamanı
SYSDATE değeri atar.
Integretion Service ile Database’e farklı timezone
ayarlanmamalıdır.
Ahmet Sedef
15. 15
Informatica Pushdown Optimization
Dikkat Edilmesi Gerekenler..
Date Conversion
Integration Service ile Database’in date formatları farklı olabilir.
Logging
Integretion Service her işlem için loglama yapmaz.
Hatalar üretilen SQL cümlecikleri kullanılarak çözülür.
Ahmet Sedef
16. 16
Informatica Pushdown Optimization
Uzun Süren Transformasyonlarda Faydası..
Database Kaynaklarının Çok Fazla Tüketilmesini
Engeller
Eşzamanlık ve Locks
Database Nesneleri(Tablo ve View) için Eşzamanlılık Problemi
Olmasını Engeller.
İşlemler Uzun Sürmediği İçin Deadlockların Oluşmaz.
Beklenmeyen Durumların Olasılığı Düşer.
Ahmet Sedef
17. 17
Informatica Pushdown Optimization
Fonksiyonda Kullanırken Püf Noktalar..
ADD_TO_DATE Fonksiyonu
Teradata’da Pushdown Yapımını Engeller.
Oracle İçin LAST_DATE Fonksiyonu
Saniye kadar Dönüş Yapar, Saniye Sonrasını Trim Yapar.
LTRIM,RTRIM ve SOUNDEX
(‘ ‘) Database İçin NULL, Integration Service (‘ ‘) Boşluktur.
STDDEV ve VARIANCE, DB2’de Farklı Sonuç Üretir.
SYSDATE ve SYSTIMESTAMP
Database ve Integration Service İçin Farklı Time Zone Farkı
Ahmet Sedef
18. 18
Informatica Pushdown Optimization
Slowly Changing Dimensions (Type1 & Type 3)...
Sadece ORACLE ve DB2’de Çalışır.
Duplicate Rows
Source’da Duplicate Rows Olmamalıdır.
Aynı Satırda Updateler Başarısız Olursa, Deadlock Oluştur.
Version 8.5 ve Üzeri Olmalıdır.
Ahmet Sedef
19. 19
Informatica Pushdown Optimization
Limitler..
Database Bağımlı Çalışır.
Tablo Partitionları Problem Yaratabiliyor.
Bazı Fonksiyonlar Beklenmeyen Sonuçlar Üretebiliyor.
Örnek: Teradata için Tarih bazlı fonksiyonlar
Her Zaman Performans Sağlamaz.
Compleks SQL üretmenin sonucu
Mappingleri Tekrar Tasarlanması Gerekebilir.
Ahmet Sedef