Bu yazımda sizlere Informatica’nın, gün geçtikçe gelişen ve büyüyen Big Data teknoljisine yaklaşımı ve bu konuda sağladığı çözüm olan Informatica Big Data Management (BDM) ürünü ile ilgili bilgi vermeye çalışacağım.
Informatica BDM, sahip olduğu hazır konektörler aracılığıyla çok farklı sistemlere bağlantı kurabilen, görsel ara yüzler üzerinden sürükle bırak yöntemi ile gerekli dönüşümleri ve hesaplamaları yapabileceğiniz ve yapılan bu geliştirmeleri tamamen Big Data platformları üzerinde çalıştırabilmenize olanak sağlayan bir büyük veri platformudur.
Neden Informatica Big Data Management?
Bununla ilgili birçok sebep sayılabilir elbette ancak en önemli sebep sanırım her geçen gün yeni bir Big Data teknolojisinin ortaya çıkması diyebilirim. 2004 yılında Google File System Paper ile fitili ateşelenen ve 2006 yılında Doug Cutting tarafından piyasaya sürülen Hadoop ile birlikte hızla büyümeye başlayan sektör, dünya devi firmaların bu alana yaptıkları yatırım sayesinde birçok yeni teknolojiyi kazanmış oldu. (Facebook Hive’ı geliştirmiş, Linkedin Kafka’yı geliştirdikten sonra Apache Software Foundation’a bağışlamıştır.)
Tabi çok çabuk gelişen ve değişen teknolojilere adaptasyon, kurumlar için kaynak, zaman ve bütçe isteyen bir duruma dönüşmektedir. Şu an bile Hadoop ortamında birçok distribütör, veritabanı, veri formatı, depolama katmanı vs. gibi teknolojiler olduğu düşünülürse ileride neler ile karşılacağımızı tahmin bile edemeyecek duruma geldik.
İşte Informatica’nın BDM çözümünü konumlandırdığı yer burası. Teknoloji ne kadar değişirse değişsin, veri tipi ne kadar değişirse değişsin Informatica kullanıcılarla teknolojiler arasına bir katman olarak girerek teknoloji bağımsız geliştirmeler yapabilmenize ve bu geliştirmeleri de Big Data ortamlarının gücünden faydalanarak çalışmanıza olanak sağlıyor.
Neden Informatica kısmına çok küçük bir örneklemeyle devam etmek istiyorum. Bildiğiniz gibi birçok kurumun veri ambarları ve datamartları günümüzde mevcut. Birçoğu için bu verilerin yükleme işlemleri zamanında SQL ile yazılmış prosedürler ve paketler üzerinden yapılmakta. Zaman içinde bu veri ambarları ve datamartlar gerek tablo sayısı gerekse tablo büyüklüğü olarak epey büyümüş durumda. Bugüne geldiğimizde birçok şirketin en temel sorunlarından biri, veri akışını kaynaktan hedefe takip edememek ve etkin bir metadata yönetimi yapamamak. Metadata takibini sağlayabilmek adına bir ETL aracı kullanarak bu SQL kodlarını dönüştürme işlemi de yine bütçe, zaman ve kaynak isteyen bir iş olarak karşımıza çıkıyor. Burada yine neden Informatica sorusunun cevabını bulabileceğimiz bir nokta doğuyor. Informatica BDM ürünü bir ETL tool gibi görsel arayüzlerle tasarlanan veri akışlarının metadatasını takip etmemize olanak sağlıyor. İlişkisel veritabanlarında yaşanan bu sıkıntının tekrar yaşanmaması için bu konunun göz önünde bulundurulması gerektiğini düşünüyorum.
Teknik Özellikler
Informatica BDM’in sağladığı bazı ana özellikleri madde madde sıralamak gerekirse:
- Ana Hadoop dağıtıcıları ile çalışabilme imkanı
- Tek tıkla Cluster bağlantılarını sağlama imkanı
- Görsel arayüzlerle geliştirme imkanı
- 100’den fazla hazır transformasyon, konnektör
- Spark ve Blaze motorlarını kullanarak çalıştırma imkanı
- Profillendirme ve Veri Kalitesi özelliklerini kullanabilme imkanı
- Maksimum verimlilik için Mass Ingesition, dinamik mapping ve “Sql to Mapping” özelliği
Kullanıcı Arayüzleri ve Kullanım
Informatica BDM eclipse tabanlı geliştirme ekranları sayesinde sürükle-bırak geliştirme imkanı sağlıyor.
Bu geliştirme ekranı aynı zamanda Informatica Data Quality ürünün geliştirme ekranı. Developer Client denilen bu ekran arkada Oracle, Mssql veya DB2 ilişkisel veri tabanları üzerine kurulmuş bir repository üzerine yapılan geliştirmeleri kaydediyor.
Bu repository’e bağlantı sağladığınızda:
- Sol taraftaki object explorer kısmında, bir folder yapısıyla kaynaklarınızı,hedeflerinizi, kurallarınızı, geliştirmelerinizi(Informatica’daki adı ile mappinglerinizi) vs. gibi tüm objeleri sınıflandırarak tutmanıza olanak sağlıyor.
- Sağ kısım, geliştirmelerin yapıldığı alan. Görseldeki mappingte iki tane oracle tablosu bazı dönüşümlerden geçerek hedef sistemdeki iki adet hive tablosuna yazmaya olanak sağlıyor. Bu kısımdaki kaynaktaki kolonların görüldüğü gibi hedef sistemdeki hangi tablodaki hangi kolonu gittiği net bir şekilde takip edilebiliyor.
- Sağ alt kısımda ise transformasyonlarla ilgili özellikleri kullanabileceğiniz alan bulunuyor.
Sonuç olarak, arayüz üzerinden bir çok kaynak sisteme bağlanıp bu veriler üzerindeki dönüşümleri kolay bir şekilde tasarlamanıza olanak sağlıyor.
Bağlantı ve Dönüşüm Desteği
Informatica BDM gelişen teknolojilere erişim konusunda bir hayli geniş bir yelpazeye sahip. Teknoloji desteğinin yanı sıra mappinglerde kullanılacak transformasyonlar geliştiricinin tüm ihtiyaçlarını karşılacak seviyede. Bununla birlikte java transformasyonu ile yazmış olduğunuz java kodlarının da çalıştırılmasına da olanak sağlıyor.
Zaten yıllardır PowerCenter ürünü ile ETL alanında lider konumda bulunan Informatica bu konudaki tecrübelerinden diğer ürünlerinde de faydalanıyor.
Bu transformasyonlara ek olarak Informatica BDM Pyton kodlarının çalıştırılmasına da olanak sağlıyor.
Çalıştırma Motorları
Informatica BDM oluşturulan mappingleri hadoop platformunun gücünden faydalanarak çalıştırabilme özelliğine sahip. İstenirse Informatica’nın kendi sunucuları da bu işler için kullanılabilir.
Mevcut ürün versiyonunda desteklenen çalıştırma motorları;
- Spark
- Native
- Blaze
Informatica, BDM’in sağladığı tüm transformasyonları Hadoop üzerinde çalışmasını destekleyebilmek adına, kendi çalıştırma motoru olan Blaze’i geliştirmiş durumda.
Informatica “Smart Executor” özelliği ise siz hangi çalıştırma motorlarında çalıştırabilir durumda iseniz onları seçebilirsiniz. Informatica sizin için en hızlı ve en doğru olan çalıştırma motorunu seçecektir.
Bunun yanı sıra çalıştırma motoru olarak Spark seçtiyseniz yukarıdaki görselde görebileceğiniz gibi BDM size çalıştıracağı Spark kodlarını da göstermektedir.
Görselde ki aynı geliştirme üç farklı metotla çalıştırılabilir. Aşağıda gördüğünüz gibi mapping üzerinde tüm metotları seçerek bu tercihi Informatica BDM’e bırakabilirsiniz.
Profillendirme ve Veri Kalitesi
Informatica BDM’in en önemli özelliklerinden birisi de Informatica Data Quality ürününün sağladığı özellikleri kullanabiliyor olması. Bununla birlikte geliştirme yapmadan önce çalışılacak veri üzerinde frekans, desen ve istatistiksel analizler profillendirme üzerinde tespit edilebiliyor.
Büyük veri ile ilgili gerçekleştirilen projelerin başarısız olma nedenlerinin başında, hadoop ortamlarına atılan veriler üzerinde yaşanılan veri kalitesi problemleri ve bu süreçlerin sürekli tekrarlanması ile birlikte zaman kayıplarının yaşanması olduğunu düşünürsek, bu problemlerin tespiti noktasında veri analizi büyük öneme sahip OLMAKTADIR.
Bu analizler yardımıyla, Informatica’nın sağladığı veri kalitesine özgü transformasyonları kullanarak yapılacak geliştirmeler ile Ayrıştırma, Standartlaştırma, Zenginleştirme, Temizlik, Eşleştirme ve Tekilleştirme gibi işlemler gerçekleştirilebiliyor.
Yukarıdaki örnekte gördüğünüz gibi Oracle tablosu HDFS’e yazılırken Telefon numaralarının alan kodlarını kontrol edip standartlaştıran bir geliştirme yapılmış durumda.
Mass Ingestion
Informatica BDM’in en önemli özelliklerinden biri de Mass Ingestion. Çok kısa tanımını yapmak gerekirse ilişkisel veritabanlarında bulunan tabloların toplu bir şekilde hiç geliştirme ihtiyacı olmadan HDFS veya Hive yüklenebilmesidir.
Örneğin 1000 adet tablo Oracle’dan HDFS’e 5 adımda aktarılabilir. Bu işlemi yaparken 1000 tane ayrı parametre dosyasını yönetmek vs gibi işlemlerden sizi kurtarırken ilişkisel veritabanınızdaki verilerin hadoop’ta kolayca işlenebilmesi için size altyapı sunar.
Tüm tabloyu yükleyebileceğiniz gibi size aynı zamanda değişen datayı yükleyebilme seçeneğide sunar.
Dynamic Mapping
Informatica BDM ile birlikte gelen bir özellik olan Dynamic Mapping’in çalışma mantığı, bir tane genel bir mapping geliştirip, farklı kaynak ve hedefler için tekrar geliştirme yapmadan bu geliştirmenin kullanılmasına dayanıyor.
Veri kaynaklarında aşağıdaki gibi çalıştırma anında kolon bilgilerini al seçeneği işaretlendiğinde bu geliştirme artık dinamik mapping için uygun bir geliştirme olmuş oluyor. Daha sonra kaynak tablonun ismini parametrikleştirerek farklı tablolar için çalıştırmayı parametre dosyaları üzerinden sağlayabilirsiniz.
Dynamic mapping özelliğiyle aynı zamanda belirledğiniz kurallara göre bazı kolonlar üzerinde dönüşümler yapabilirsiniz.Örneğin karakter alanlarının başında ve sonunda bulunan boşlukları temizle gibi.
Sql to Mapping
Adında anlaşılacağı gibi elinizde bulunan mevcut sql sorgularını Informatica BDM ile direkt olarak mappinge dönüştürebilirsiniz. Insert,Update ve Delete sorgularını desteklemekle beraber tek ihtiyaç duyduğu nokta sorguların ANSI standartlarına uygun olması.
Özetlemek gerekirse Informatica Big Data Management, kurumun mevcut veya yeni gelecek big data teknolojilerine entegrasyonunu kolaylaştırıcak, ileride etki analizini kolayca takip edebileceğiniz geliştirmeler yapmanızı sağlayacak ve yapılan tüm bu geliştirmeleri big data ortamlarınızın gücünden faydalanarak çalıştırabileceğiniz bir teknoloji diyebiliriz.