Merhaba,
Talend’de Customer Success Architect olarak görev alan Venkat Sundaram’ın Informatica Power Center kullananlar için Talend’i anlattığı yazısını sizler için çevirdik. Yazının orjinaline buradan ulaşabilirsiniz.
Aşağıdaki yazısında PowerCenter’dan daha modern bir entegrasyon platformu olan Talend’e geçiş çabasını en aza indirmeye yardımcı olmaya çalıştığını söyleyen Venkat, bu geçiş sürecindeki deneyimlerini bizlerle paylaşıyor.
Talend vs Informatica Power Center: Fark nedir?
Aslında her iki araç da aynı şeyi yapıyor: veriyi kaynaktan hedefe taşıyor. Fakat bunu farklı yollarla yapıyorlar. Her iki yaklaşımın da kendi avantajları var, bu yüzden ETL işini tasarlamadan önce bu artıları ve eksileri iyi anlamak gerekiyor.
-Evet, iki araç da grafiksel bir kullanıcı arayüzüne sahip.
-Evet, iki araç da kaynaklardan veri alıyor ve bunları dönüştürüp bir hedefe yüklüyor.Ama burada dikkat etmemiz gereken ilk şey bunları yaparkenki uygulamalarının tamamen farklı olduğu! Talend, her yerde çalıştırabilmenize imkan veren yerel Java kodları üretirken Power Center ise sadece kendi makinasının çalıştırabileceği RDBMS repositrylerinde depolanan bir meta veri üretiyor.
Anlaşılması gereken en önemli nokta, Talend’in bir kod oluşturucu olduğu için hem ETL (kendi bağımsız sunucusunda çalışan) hem de ELT (hedef sunucuda yere olarak çalışan) makinası olarak çalışabileceğidir. Talend tarafından üretilen bu java kodları, Java’yı destekleyen herhangi bir platformda çalıştırılabilir: Veri merkezinizdeki bir sunucuda, bulutta, ve hatta kendi dizüstü bilgisayarınızda..
Her iki platform da veri entegrasyonu için gereken bileşenlerin çoğunu sağlasa da özel bir şeylerin hazırlanmasını gerektiren durumlar olabiliyor. Bu durumlarda ise Power Center kullanarak yapılması zor ve verimsiz bir işlem olduğunu düşündüğüm bazı özel kodlamalar yapılabilir. Fakat Talend ile kendi özel bileşenlerinizi Java’da oluşturabilir ve herhangi bir güçlük çekmeden Talend Stüdyo’ya entegre edebilirsiniz.
Veri entegrasyon işlerinizi tasarlarken bunların önemli ve iyi anlaşılması gereken noktalar olduğunu söyleyen Venkat, yazısına Informatica PowerCenter ve Talend kavramlarını karşılaştırarak devam ediyor.
İşlerim (Job) nasıl tasarlanıyor?
İki araç arasındaki bir diğer önemli fark ise işlerin (jobların) nasıl hazırlandığıdır.
Power Center’da ilk adım bir “Mapping”in geliştirilmesidir. Kaynak ile hedef arasında transform mantığının tanımlandığı, veri akışının (data flow) hazırlandığı yer burasıdır. Mapping hazırlandıktan ve doğrulandıktan sonra ilgili metaverisi kendi repository’sine kaydedilir. Hemen ardından farklı bir uygulama açılarak “Session” ve “Workflow”lar geliştirilir. Bunlar ise iş akışlarıdır (process flow). Kaynak ve hedeflere fiziksel bağlantılar atanır, oluşturulan tasklar belirlenen sırayla çalıştırılır, hata yönetimi ve bildirim prosedürleri bu adımlarda yönetilir. Sonrasında ise yine farklı bir uygulama açılarak çalışan işlerin takibi gerçekleştirilir.
Talend’de ise hem veri hem iş akışları sorunsuz bir şekilde birlikte geliştirilir. Veri akışı için geliştirilmiş çok çeşitli bileşenler istenen sıralamayla hazırlanıp bir iş akışı oluşturulur. Veri akışında kullanılan bileşenler satır bazlı ilişkilendirilir. Sırasıyla çalışacak veri akışı grupları ise trigger’lar ile tetiklenerek iş akışı hazır hale getirilir.
Daha iyi anlamak için Power Center ve Talend kavramlarını karşılaştırarak nasıl eşleştiklerine bakalım:
Informatica PowerCenter Talend Studio Açıklama Repository Project Repository Her iki repository de yeniden kullanılabilir metaveri nesneleri içerir. Örneğin işler (job’lar), veritabanı bağlantıları, şemalar, açıklamalar.. Talend’de bunlar özel bir kaynak kodu kontrol sistemi yerine SVN veya GIT kaynak kodu kontrol sistemleri ile entegre edilmiştir.
Folder Folder Klasör yapısı nesnelerin işlevlerine göre düzenlenmesine yardımcı olur. Power Center alt klasörlere izin vermez ancak Talend’de alt klasör oluşturulabilir.
Mapping Job ETL sürecini geliştirmek için hazırlanan veri akışlarının geliştirildiği alandır. Talend’de ise “Job” hem veri hem iş akışını temsil eder.
Workflow Job Hazırlanan mappinglerin sırasıyla çalıştırıldığı iş akışının hazırlandığı işlerdir. Talend’de ise “Job” hem veri hem iş akışını temsil eder.
Worklet/Reusable Session Joblet İş akışları ve işler genelinde yeniden kullanılabilen bir çok görevin birleşimidir. Hata işlemede, bildirim süreçlerinde ya da tekrar eden akışlarda kullanılabilir. Transformations Components Talend çeşitli transformasyonları destekleyen geniş bir bileşen(component) kütüphanesine sahiptir. Örneğin en sık kullanılan bileşenlerden biri olan tMap, Informatica’da ayrı ayrı kullanılan Expression,Lookup,Router ve Joiner transformasyonlarını tek bir bileşende kullanma imkanı tanır. Source and Target — Definitions and Connections Repository Metadata Talend’de kullanılan kaynak ve hedef nesneleri ayrı ayrı tanımlanmaz, Repository altında bir kez içeri alınır. Sonrasında ise Job’a eklerken kaynak ya da hedef seçeneği seçilir ve tekrar tekrar kullanılabilir. Arayüze derinlemesine bir bakış
Son olarak Talend’in eclipse tabanlı Studio arayüzüne bakalım ve bunu bir Power Center geliştiricisinin bakış açısından anlamayı deneyelim.
- Repository (PowerCenter: Navigator) : kaynakların olduğu yerdir. Klasörler, Joblar, Şemalar, Açıklamalar, Bağlantılar, Parametreler ve değişkenler burada tanımlanır.
- Designer (PowerCenter: Workspace) : Jobların hazırlandığı alandır.
- Job içerisine eklenen bileşenlerle ilgili ayarların yapıldığı alandır. Run sekmesinde işleri hazırladıktan sonra çalıştırabilir istatistiklerini canlı olarak görebilirsiniz. Power Center Designer ve Workflow Manager araçlarının sunduğu özelliklerin birleşimidir.
- Palette (PowerCenter: Transformation toolbar) : bileşenlerin listelendiği menüdür.
- Perspective : Talend Stüdio’nun genel düzenini ve hangi modülde çalışma yapıldığını belirler. Talendin büyük modüllerinin kendi arayüzleri vardir. Örneğin veri kalitesinde çalışmak isterseniz tek bir tıkla ilgili modulün arayüzünü açabilirsiniz. En büyük avantajlarından biri kullanılan ürünler için ayrı uygulamalar açmaya gerek kalmadan arayüzde geçiş sağlanabilmesidir. Bu birleşik arayüz sayesinde geliştirici üretkenliği arttırılır.
Her iki araç arasındaki mimari farklara genel bir bakış sağlayan bu yazısı için Venkat’a teşekkür ediyoruz!