Home / MAKALELER / İş Zekası / Informatica Nedir?

Informatica Nedir?

Merhabalar,

Data Management kulvarının önde gelen oyuncusu Informatica yı bilmeyenler için bu yazıyı ele almayı düşündüm. Çoğu büyük şirketin Data Management işlemlerini Informatica ile birlikte yönetmesinin yanında, Gartner ın Data Integration chart ına baktığımızda Informatica en lider ürün olarak karşımıza çıkmakta. Son 3 yıldır liderliğini koruyan Informatica (son 3 yılın chart ına baktığım için böyle diyorum, daha da geri tarihlere gidip durumu görebilirsiniz) .Incelemek isteyenler şuradan erişebilir. http://optimalbi.com/blog/2016/08/16/gartner-data-integration-magic-quadrant-2016-behind-with-the-times/

İlk bilenen yanlış  informatica ürünün ismi değil vendor ın isminidir.

Informatica şirketi,

-Data Integration,

-Big Data Management,

-Data Quality,

-Data Security,

gibi bir çok alanın veri yönetim ihtiyaçlarına cevap verecek şekilde farklı ürünlere sahip. İşi sadece data management olan bir şirketin bu alanda profesyonel ve başarılı hizmetler sunuyor olması normal karşılanabilir.

Gelelim asıl konumuz olan Data Integration a yani Power Center a.

Bu kısımda Informatica nın amiral gemisi olan Power Center ı inceleyeceğiz. Power Center Data Integration işlemlerinde kullanıdığımız tool olarak karşımıza çıkmakta. Temelde Power Center, bir noktadan herhangi bir noktaya veri aktarılmasını sağlayan tool dur. Ülkemizde Enterprise DW ler oluştururken yaygın bir şekilde kullanılmaktadır. Telco ve finans sektöründe belki de en büyük 10 şirketin çoğunun veri ambarlarını kaynak sistemlerle entegre ederken kullanıdığı araçtır. Veri entegrasyon tekniği olaeak ETL bunun yanı sıra Push Down optimizization özelliği sayesinde ELT tekniğini  kullanmamıza imkan sağlar.

ELT ile ilgili diğer yazılarda ayrıntıya değineceğim fakat  kısaca açıklamak gerekirse: Adı üstünde Extract Load Tranform. Mantığı ETL ile aynı ama transform işlemlerini veriyi kaynaktan okuduğumuz, ya da yazdığımız, ya da her ikisine birden yükleyerek daha performanslı bir şekilde işlemlerimizi gerçekleştirmek. ETL de veriyi kaynak sistemden okuyup, Informatica server a yükleyip, transform işlemlerini Informatica nın bulunduğu server da yapıp hedefe yüklemekteyken, ELT de yaptığımız transfrom işlemlerinin sql query sini çıkarttırıp, kaynak ya da hedef db lere yaptırmaktayız. Yani ETL de yük ETL tool larında, ELT de datasource larda. Burada tabi sunucuların bu işlem için yeterli özelliklere sahip olması gerektiği ortaya çıkmakta. ELT yi her istediğimiz noktalarda kullanamamakla birlikte, artılarını eksilerini diğer yazılarda inceleyeceğiz.

Power Center ı açıp, Repository ime connect oluyorum. Daha önceden oluşturmuş olduğum Developing isimli klasör karşıma gelmekte. Klasörler SSIS teki paketler gibi düşülebilir. Aslında şirketinizin business anlayışına göre ister paket ister de proje olarak düşünebilirsiniz. Dev,Test gibi ortamlarınız için repository olarak düşünüp, birbirinden farklı departmanların işlemlerini klasörlere bölebilirsiniz.

informatica-0.PNG

Üst panelde bizim için temel olan 4 tane uygulama bulunmakta.

informatica-3

Kısaca açıklamak gerekirse:

> Power Center (ETL işlemlerimizi gerçekleştirdiğimiz kısım)

W> Workflow Manager (ETL işlemlerimizin çalışmasını ayarladığımız kısım. Yani veri ambarının tasarlarken bazı işlemler önce bazıların sonra yapılır. Bu süreci yönettiğimiz kısım diyebiliriz. Hazırlamış olduğumuz mapping te source ve target ın ne olduğu, schedule ın ayarlandığı, mapping te hata çıkarsa mail at gibi çeşitli özelliklerin düzenlendiği kısım,)

M > Workflow Monitor (ETL in çalışmasının, datanın akışının, schedule ın izlendiği kısım)

R > Repository Manager (Genellikle admin kişilerin yöneteceği kısım olmakla birlikte, Repository, klasör oluşturma gibi yetkisel ve yönetimsel işlerin yürütüldüğü kısım)

Bir de bu 4 uygulamanın yanında Admin Console bulunmakta. Repository Management gibi admin işlemlerimizi yaptığımız, kulllanıcıların service lere bağlanıp bağlanamama gibi özelliklerin ayarlandığı bir birim olarak karşımıza çıkmakta. Her ikisinde de admin işlemleri yapılıyor tabiki ama birbirinden farklı görevleri yapılandırabilmekte olmaktasınız.

Üst paneldeki diğer özellikleri yeri geldikçe değineceğiz.

Tekrardan klasörüme gelip yandaki artıya basarak özellikleri genişletiyorum

informatica-4

Baktığımızda bizim için temel olan Source, Target, Mapping, Transformation gibi kavramlar karışımıza gelmekte. ETL işlemine başlarken öncelikle source ve target larımızı oluşturarak başlamamız gerekmekte. Source tab ına geçmek için üst panelden Tools tan Source Analyzer ı seçiyorum.

Karşımıza Source Analyzer penceresi açılmakta. Pencerenin tam üst köşesinde çeşitli tab lar bulunmakta. Bu tabları bol bol kullanacağız, biraz açıklayalım.

informatica-5.PNG

Source Analyzer dan source tanımlama işlemlerimizi yapıyoruz. Üst paneldeki Source a tıkladığımızda source tanımlarken kullanabileceğim platformlar karşımıza gelmekte.

informatica-6.PNG

Herhangi bir database den, File dan v.b. platformdan veri alabiliriz. Örnek olarak Oracle bir tabloyu source olarak tanımlayalım. Bunun için “Import From Database” diyoruz.  SCOTT schemasına connect oluyorum.

informatica-7.PNG

DEPT tablosunu seçip OK diyorum. Tablomuz Source Anayzer alanında karşımıza geldiği gibi sol taraftaki Developing klasörünün altında bulunan Source un altında da görebilmekteyiz. SCOTT shemasının dışında başka schema lardan tablo ekledikçe bu kısımda görebiliyor olacağız.

Target Designer a geliyorum. Target ları burada oluşturuyoruz. Yine üst paneldeki Target tabından istediğimiz bir platform üzerinde hedef tablo oluşturabilmekteyiz.

informatica-8.PNG

Biz daha önce source olarak tanımladığımız DEPT tablosu ile aynı yapıda TRGDEPT tablosu oluşturalım. Bunun için kolay bir yöntemle sadece önce oluşturduğumuz tabloyu Target Analyzer a sürükleyip bırakalım. Üzerine çift tıklayıp Rename deyip TRG_DEPT olarak değiştirelim.

informatica-9.PNG

Bu tabloyu henüz database de oluşturmadık. Oluşturmak için üst panelden Target a gelip, Generate/Execute SQL diyoruz.

informatica-10.PNG

Karşımıza açılan pencereden Generate options tan create table ı seçip, generate and execute diyoruz. Target tablomuzu oluşturmuş olduk. Doğru schema ın seçili olduğunda emin olunuz.

Sıra geldi Mapping Designer a. Bu kısım asıl ETL işlemlerimizi yürüttüğümüz yer. Yani source ve target ımızı belirleyip, ihtiyaç duyduğumuz transformation işlemlerimizi yaptığımız kısım olmakta.

Yeni bir mapping oluşturalım. Bunun için için source oluştururken yaptığımız gibi üst panelden Mappings e tıklayıp, create diyoruz. Mapping ime m_Load_TRG_DEPT ismini veriyorum.

Bu sırada dikkat ederseniz Developing klasörünün altında Target ve Mapping te de oluşturmuş olduğumuz item lar görünmekte. Aynı zamanda üst paneldeki transform işlemlerinin de aktifleştiğini görebilirsiniz.

informatica-11.PNG

Örnek olarak oluşturmuş olduğumuz source tan target a basit bir veri aktarımı gerçekleştirelim.

Source ve target ımı Mapping Designer ekranına sürükleyip bırakıyorum. Source u sürükleyince source un önüne SQ_ takısı eklenmiş şekilde bir komponent daha geldi. Bu Source Qualifier(SQ) dediğimiz komponent olmakta. Hangi platformdan veri alırsanız alın Informatica kendi anlayacağı şekilde SQ ile birlikte data tiplerini değiştirmekte. Örneğin DNAME varchar2 formatındayken, SQ ile birlikte Informatica string e çevirerek dönüşüm işlemini otomatik yapmakta. Tabiki her türlü data tipi dönüşüm işlemleri SQ ile yapılmaz. İlerleyen zamanlar data tipi dönüşüm işlemlerine de değineceğiz. Aynı zamanda SQ ile aynı db deki tabloları join leyebilirsiniz ama sadece aynı db üzerindeyse. Çoğunlukla Join transformation kullanılarak Join işlemleri gerçekleştirilmekte.

informatica-12.PNG

SQ ın çıkış port larını TRG_DEPT in input port larına sürükleyip bırakıyoruz, böylece mapping imiz hazır. Kaydedip mapping imizin Valid olduğundan emin oluyoruz. Sıra geldi mapping i çalıştırmaya.

informatica-13.PNG

İlk başta da dediğimiz gibi Workflow Manager ile mapping imizi çalıştırıyoruz. Üst panelden W (Workflow Manager) a tıklıyoruz.

W (Workflow Manager) ekranında Workflow Designer a gelip hazırlamış olduğumuz Workflow yani mapping in çalışmasını ayarlayacağız.

Her zaman olduğu gibi üst panelden Workflow segmesine tıklayıp Create diyoruz.wf_Load_TRG_DEPT ismini veriyorum. Start komponenti karşımıza gelmekte. Start workflow un çalışmaya başlayacağını belirten işareti veren komponent diyebiliriz. Şimdi sıra geldi sisteme hangi mapping i çalıştıracağını söylemeye. Üst panelde SESSION taskına(aşağıdaki görselde belirttiğim task) tıklıyorum, sonra gelip Workflow Designer ekranında boş bir yere tıklıyorum.

informatica-14.PNG

Karşımıza açılan pencereden hangi mapping i çalıştıracağımızı seçmemiz gerekmekte. Ilgili mapping i seçiyoruz. Artık sistem hangi mapping i çalıştıracağını bilmekte. Ama demiştikki start ile çalıştırma işlemi başlamakta. Yani start ile session u bağlamamız gerekmekte workflow da akışın devam etmesi için. Task ları birbirine Link Task ile bağlıyoruz. Yukarıdaki görselde belirttiğim diğer task.

İşimiz henüz bitmedi. Source ve target ların hangi schema altında olduğunu belirtmemiz gerekmekte. Sonuçta aynı tablo ismi birkaç schema altında olabilir. Hangi schema altındaki tabloyu kullandığımızı belirtmeliyiz Bunun için Session Task ın üzerine çift tıklıyoruz. informatica-15

Mapping segmesine tıklayoruz. Sources segmesinin altındaki source umu seçiyorum. Connection kısmının altında ODS scheması seçili. Bizim source tablomuzun bulunduğu schema SCOTT schemasıydı.ODS in yanındaki ok işaretine tıklayıp SCOTT u seçiyorum. Aynı şekilde sol taraftaki panelden Targets ın altından target ımı seçip SCOTT olarak connection ımı değiştiriyorum.Ok diyerek işlemimi tamamlıyorum. Workflow umu kaydedio VALID olduğundan emin oluyorum.

Workflow Dessigner ekranında boş bir yere tıklayıp Start Workflow diyorum.

informatica-17.PNG

Workflow un akışını izlemek için Workflow Monitor u açıyorum. Ilgili session un üzerine çift tıklayıp aşağıdaki panelden source tan target a veri akışının nasıl olduğu inceliyorum.

Aşağıdaki görsele baktığımızda SQ_DEPT(source) ten 4 satır verinin, TRG_DEPT(target) a yüklendiğini görebilmekteyiz. Kontrol etmek için TOAD da gidip baktığımızda target tablomuza verinin aktarıldığını görebiliriz.Eğer işlemimiz hata almış olsaydı yine burdan neden hata ile karşılaştığımızı çözüyor olacaktık.

informatica-18.PNG

Bu yazımda Informatica nın ne olduğundan, genel yapısından bahsetmeye çalıştım. Basit bir örnekle de konuya giriş yaptık. Bundan sonraki yazılarda Informatica ile ETL dünyasının derinlerine biraz daha ineceğiz.

Keyifli okumalar,

Şeydanur Sandıkçı

About Şeydanur Sandıkçı

Kocaeli Üniversite Endüstri Mühendisliğini bitirdikten sonra kariyerine İş Zekası Uzmanı ve Eğitmeni olarak devam etmektedir. İş zekası alanının dışında Data Scientist yönünü geliştirecek projeler de yapmaktadır. Şu an Bilge Adam da İş Zekası Uzmanı ve Eğitmeni olarak çalışmaktadır. seydanursandikci@gmail.com adresinden ulaşabilirsiniz.

İlginizi Çekebilir

SSIS Projelerini Deploy Etme

Herkese merhaba, Bu yazımızda bir SSIS projesini deploy etme işlemlerini göreceğiz.  (SSIS 2008 sonrası sürümlerde …

Bir Cevap Yazın