Oracle Data Integrator (ODI)

ODI en kısa tanımıyla bir very taşıma yazılımıdır. Burada karşımıza ETL kavramı çıkmaktadır. Extract (Seçme), Transform (Dönüştürme), Load (Yükleme) kelimelerinin ilk harflerinden oluşan ETL, kaynaklardan belirlediğimiz koşularla verinin seçilmesi, isteğimiz ve ihtiyaçlar doğrultusunda dönüştürülmesi ve başka bir veri kaynağına ( tercihen veri ambarı) yüklenmesi işlerini yürüten veri işleme altyapısıdır. ETL klasik tasarım olarak değerlendirilmektedir. ODI ise ELT yaklaşımı ile konuya farklı bir boyut getirmektedir.

ELT yaklaşımında kaynak ile hedef arasında herhangi bir sunucu katmanı olmadığından verinin kaynaklar arası iletim süresi kısalıyor. Ayrıca arada bir sunucu olmadığından bunun yatırım bakım vs maliyetleri ortadan kalkmış oluyor.

ELT yaklaşımında veri genel olarak bulk olarak işleniyor. Veri tabanlarının bu konuda yapmış oldukları performans yatırımlarını düşündüğünüzde performans arttırma konusunda da elimizdeki veri tabanımızın bize sunduğu fırsatları kullanıyor oluyoruz.

odi1

Veri tabanları üzerinde dönüştürmeler SQL’ler aracılığıyla yapılmaktadır. Ek bir dil, araç vs öğrenme ihtiyacı olmadığından ODI ile veri tabanları üzerinde yüksek performansla ve geliştirme süresini düşürerek veri entegrasyonu yapılabilmektedir.

Mimari

ODI; Java ile geliştirilen, modüler bir yapıda inşa edilmiş grafiksel arayüzlerden oluşan ve Agent’lar üzerinden, istemci/sunucu mantığıyla veri entegrasyonunu gerçekleştiren bir yapıdır. Grafiksel arayüz modülleri;

Designer; veri entegrasyonu tasarımı (integration) ve veri dönüştürme (transformation) senaryolarını oluşturmamızı sağlayan kuralları tanımladığımız modüldür.

Operator; canlı sistemin yönetildiği ve izlenebildiği modüldür. Çalışan yada herhangi bir sebepten hata almış olan senaryoların loglarını bu alandan takip ediyoruz.

Topology; kaynak ve hedef sistemlerin fiziksel ve mantıksal mimari bilgilerinin tutulduğu modüldür. Data serverlar, şemalar ve altyapı sistemlerinin tanımları bu modülde oluşturulur.

Security; sistem kullanıcılarını yönettiğimiz ve kullanıcı yetkilerini düzenlediğimiz ODI modülüdür.

odi2

Geliştirme

odi3

Designer’da geliştirilmiş uygulama senaryolarını çalıştırmak için Agent gereklidir. Senaryoları, Scheduler Agent koordine eder. Scheduler Agent herhangi bir Java platformunda kurulabilir. Çalışma zamanını önceden tanımladığımız senaryoların zamanında çalışmasını Agent sağlar.

odi4