Veri Yönetişimi 5 | Veri Entegrasyonu ve Uyumu

Muhammet Şancı
7 min readAug 17, 2023

--

Veri entegrasyonu ve uyumu, verilerin ihtiyaç duyulan yerde, zamanda ve biçimde elde edilmesidir.

Veri Entegrasyonu ve Uyumu Nedir?

Veri entegrasyonu, veri depoları, uygulamalar ve kuruluşlar içinde ve arasında verilerin taşınması ve birleştirilmesiyle ilgili süreçleri tanımlarken; veri uyumu da birden çok sistemin iletişim kurma yeteneğini ifade eder.

Verilerin düzgün entegrasyonu; veri ambarı, iş zekası, referans ve ana veri yönetimi için kritik öneme sahiptir; çünkü bunların tümü, verileri kaynak sistemlerden birleştirilmiş veri merkezlerine ve merkezlerden hedef sistemlere dönüştürmeye ve entegre etmeye odaklanır.

Yazının kalanında veri entegrasyonu ve uyumundan (data integration and interoperability) DII olarak söz edilecektir.

Veri Entegrasyonu ve Uyumunun Amacı

Verinin sistemler arasındaki hareketini verimli bir şekilde yönetme ihtiyacı DII için en önemli amaçtır.

Çoğu kuruluşun yüzlerce veya binlerce veri tabanı ve deposu bulunur. Bir kuruluşun veri depoları arasında veri taşıma süreçlerini yönetmesi, yüksek önem taşır. Düzgün yönetilmezse, veri taşıma süreci IT kaynaklarını ve yeteneklerini aşabilir ve veri yönetimi gereksinimlerini gölgede bırakabilir.

Sistemler arasında point-to-point çözümler geliştirmek, binlerce ila milyonlarca iletişim arayüzüyle sonuçlanabilir ve en etkili ve verimli IT organizasyonlarının bile performansı bunu kaldıramaz. Arayüz yönetiminin karmaşıklığını azaltmak, maliyetleri azaltır ve kaynakların daha etkin bir şekilde dağıtılmasını sağlar.

ETL: Extract, Transform, Load

DII işlemlerinin merkezinde extract — transform — load işlemleri yer alır.

İster fiziksel ister sanal, ister asenkron ister gerçek zamanlı olarak yürütülsün, ETL adımları, verileri sistemler arasında taşımanın temelidir.

  1. Extract: Gerekli verilerin seçilmesini ve kaynak veri deposundan çıkarılmasını ifade eder.
  2. Transform: Seçilen verileri hedef veri deposunun yapısıyla uyumlu hale getiren işlemleri ifade eder.
  3. Load: Hedef sistem ile uyumlu hâle gelmesi için dönüştürülen verileri fiziksel olarak depolamayı ifade eder.

Eğer hedef sistem, kaynaktan veya bir arayüz biriminden daha yüksek bir dönüşüm gücüne sahipse, işlemlerin sırası “ELT” olarak değiştirilebilir. Böylelikle kaynak sistemden alınan veriler dönüştürülmeden önce ham olarak hedef sisteme yüklenir, ardından hedef sistemin yüksek dönüşüm gücü ile daha etkin bir şekilde dönüşüme uğrar.

Mapping kavramı, extract edilecek verileri, bunları tanımlama kurallarını, load edilecek hedefleri ve uygulanacak transform kurallarını tanımlar.

Latency

Verilerin kaynak sistemde üretildiği an ile hedef sistemde kullanıma hazır olduğu an arasındaki zaman farkıdır.

Latency (gecikme); batch (yüksek gecikme), event-driven (düşük gecikme), real-time synchronous (çok düşük gecikme) olarak üç farklı sınıfa ayrılır.

Batch: Yüksek Gecikme

Batch etkileşim tipinde veriler genellikle periyodik bir zaman çizelgesine göre otomatik olarak, toplu hâlde hareket eder.

Bu hareket tipine sahip veriler, en son load edildikleri zamandan bu yana değişen değerleri temsil eder. Bir banka hesabının belli bir dönem sonundaki bakiyesi buna örnek olarak verilebilir. Değişen veri kümesine delta, belli bir noktadaki verilere ise snapshot denir.

Bu hareket tipi, kaynaktaki verilerin değiştiği zaman ile hedefe load edildiği zaman arasında yüksek gecikmeye neden olur. Kısa bir zaman çerçevesinde yüksek veri hacimlerini işlemek için oldukça kullanışlıdır. Genellikle veri ambarı entegrasyon çözümlerinde, migration ve arşivleme işlemlerinde kullanılır.

Event-Driven: Düşük Gecikme

Bu tip bir harekette veriler, belirlenen bir olay meydana geldiğinde load edilir.

Batch olmayan veri entegrasyon çözümlerinin çoğu, event-driven (olaya dayalı) yaklaşım kullanır. Batch yaklaşımına göre daha düşük bir gecikme süresine sahiptir ve genellikle iş yükü daha düşüktür çünkü işler zaman içerisinde dağıtılır. Ancak tam senkronize bir veri entegrasyon çözümünden daha yavaştır. Real-time çözümlerine yakınlık sergilediği için near real-time olarak da adlandırılabilir.

Real-Time Synchronous: Çok Düşük Gecikme

Kaynak sistemden verilerin alınması ile hedef sisteme yüklenmesi arasında neredeyse yok denecek kadar az gecikmenin olduğu hareket tipidir.

Bir veri kümesindeki verilerin, başka bir veri kümesindeki verilerle mükemmel bir şekilde senkron tutulması gerektiğinde, real-time senkron bir çözüm kullanılmalıdır.

Senkron bir entegrasyon çözümünde, bir operasyon, bir sonraki işlemini yürütmeden önce diğer uygulamalardan veya işlemlerden onay almayı bekler. Senkronizasyonun onaylanmasını beklemek zaman alacağı için bu çözüm aynı sürede diğerlerine göre daha az işlem gerçekleştirir. Güncellemeye ihtiyaç duyan uygulamalardan herhangi biri mevcut değilse, işlem tamamlanamaz. Yani veriler senkronize tutulur, ancak stratejik uygulamalar daha az önemli uygulamalara bağımlı hale gelebilir.

Replication

Dünya’nın farklı bölgelerinde bulunan kullanıcılara daha iyi yanıt süresi sunabilmek için bazı sistemler, verilerinin kopyalarını birden fazla fiziksel konumda saklar.

Bu tür bir çözümde, fiziksel olarak dağıtılmış veri kopyaları senkronize edilmelidir. Çoğu veritabanı yönetim sistemi, bu işi yapmak için replication araçlarına sahiptir.

Replication çözümleri genellikle verilerin kendisini değil, değişikliklerle ilgili log dosyalarını izler. Genelde near real-time yaklaşım kullanılır; bir veri kümesinin bir kopyasındaki bir değişiklik ile diğer kopyasındaki değişiklik arasında küçük bir gecikme vardır.

Etkileşim Modelleri

Veri transferi yapılabilmesi için sistemler arasında kurulan bağlantılara etkileşim, farklı etkileşim çözümlerine ise etkileşim modelleri denir.

A. Point-to-Point

Veri paylaşan sistemler arasındaki etkileşimler genellikle point-to-point çözümler kullanır; verileri birbirlerine doğrudan iletir.

Bu model, küçük bir sistem seti var olduğunda anlamlıdır. Ancak birçok sistem aynı kaynaklardan aynı verileri gerektirdiğinde ciddi derecede verimsiz bir hâle gelir ve organizasyonel riski artırır.

B. Hub-and-Spoke

Paylaşılan verileri birçok uygulamanın kullanabileceği merkezi bir sistemde fiziksel veya sanal olarak birleştiren çözümdür.

Veri alışverişi yapmak isteyen tüm sistemler, bunu doğrudan birbirleriyle yapmak yerine merkezi bir ortak veri kontrol sistemi aracılığıyla yapar. Bu veri kontrol sistemleri, kaynaklara erişmesi gereken sistemlerin sayısını en aza indirerek, kaynak sistemler üzerindeki işlem gücünü de azaltır.

Bazı sistemler için hub-and-spoke modellerinin gecikme süreleri kabul edilemeyecek kadar yüksek ve verimsiz olabilir; bu yüzden de bu model her zaman en iyi çözümü sunmayabilir.

C. Publish-and-Subscribe

Publish-and-subscribe modeli, verileri publish eden (yayınlayan) sistemler ile verilere subscribe olan (abone olan) diğer sistemleri içerir.

Veri sağlayan kaynak sistemler bir veri hizmetleri kataloğunda listelenir ve veri tüketmek isteyen diğer sistemler bu hizmetlere abone olur. Veriler yayınlandığında, otomatik olarak abone sistemlere gönderilir.

Entegrasyon & Uyum Mimarisi Kavramları

A. Application Coupling

İki sistemin ne kadar sıkı bir şekilde bağlı olduğunu ölçer. Tight coupling, sistemlerin birbirlerine yüksek derecede bağımlı oldukları anlamına gelirken loose coupling, düşük derece bağımlılığı ifade eder.

B. Orchestration

Orchestration; süreçlerin düzenlenmesini, bunların tutarlılığını ve veri hareketinin doğru bir şekilde yönetilmesini sağlar.

C. EAI: Enterprise Application Interface

EAI, yazılım modüllerinin etkileşimde bulunması için düzgün tanımlanmış arayüzler (API) kullanır, böylece diğer sistem ve modüller etkilenmeden değiştirilebilirlik sağlanır.

D. ESB: Enterprise Service Bus

ESB, sistemler arasında aracı görevi gören ve aralarında mesajlar ileten bir veri yolu sistemidir. Sistemler ESB kullanarak birbirlerine mesaj veya dosya gönderebilir ve alabilir.

E. Data Federation ve Sanallaştırma

Veri yönetişiminin üçüncü bölümünde de bahsedildiği üzere federation; ortak bir görünüm sağlama işlemidir. Veriler fiziksel olarak birleştirilmek yerine, sanki tek bir veritabanı kullanılıyormuş gibi sanal olarak birleştirilir.

F. Cloud Tabanlı Entegrasyon

Cloud tabanlı entegrasyon, sistemleri bulut hizmetleri aracılığıyla birleştirir, veriyi, süreçleri ve uygulamaları entegre eder.

Veri Entegrasyonu Altyapı Hazırlığı

A. Planlama

  1. Entegrasyon Gereksinimleri: İşletmenin verileriyle neyi başarmak istediği ve bunu gerçekleştirmek için teknolojiyi nasıl kullanmayı planladığı belirlenmelidir.
  2. Verileri Keşfetmek: Herhangi bir şey oluşturmaya başlamadan önce, hangi verilerin mevcut olduğunun ve nerede olduğunun bilinmesi gerekir.
  3. Veri Akışını Belgeleme: Verileri ararken, bunun organizasyon içinde nasıl hareket ettiği de dikkate alınmalıdır. Nereden geldiğini, nasıl değiştiğini ve nereye gittiği takip edilmelidir.
  4. Veri Profili Oluşturma: Verilerin mevcut durumlarını ve belirlenen standartlara uyup uymadığı kontrol edilmelidir.
  5. İş Kurallarının Toplanması: Verileri nasıl kullandığımıza rehberlik eden kurallar belirlenmelidir.

B. Tasarlama

  1. Entegrasyon Mimarisini Tasarlamak: Her şeyin nasıl bir araya getirileceği planlamalı; verilerin nasıl akacağını, nasıl depolanacağı ve farklı parçaların birbirleriyle nasıl bir etkileşimde olacağı dikkate alınmalıdır.
  2. Kaynak ve Hedef Mapping: Verileri hareket ettirirken, verilerin nereden geldiğini ve nereye gittiğini gösterecek bir harita tasarlanmalıdır.
  3. Veri Akışını Düzenleme: Verilerin bir yerden diğerine nasıl akacağı planlanmalı; verilerin ne zaman ve ne sıklıkta taşınması gerektiğine karar verilmelidir.

C. Geliştirme

  1. Veri Hizmetlerini Geliştirme: ETL operasyonlarını gerçekleştirecek araçlar geliştirilmelidir.
  2. Veri Akışlarını Geliştirme: Verilerin taşınacağı veri yolları geliştirilmelidir.
  3. Veri Geçişini Yönetme: İşler değiştiğinde, artık ihtiyaç duyulmadığında veya ihtiyaçlar değiştiğinde verilerin taşınmaları gerekir.
  4. Olay Akışları Oluşturma: Verilerdeki kalıplara dayalı olarak önemli olayları tahmin edebilen sistemler oluşturulmalıdır. Bunlar sayesinde belli olaylar gerçekleştiğinde, belirlenen yanıtlar otomatik olarak verilebilir.

D. Kullanılabilecek Araçlar

  • ETL Araçları: Bir ETL aracı, her veri entegrasyon programının merkezinde yer alan birincil araçtır. Bu araçlar veri dönüştürme faaliyetlerinin tasarımını ve gerçekleştirimini destekler.
  • Veri Sanallaştırma Sunucuları: ETL araçları verilerde fiziksel olarak dönüşüm gerçekleştirir; ancak, veri sanallaştırma sunucuları sanal olarak extract, transform ve entegrasyon gerçekleştirir.
  • Enterprise Service Bus: Near real-time etkileşimlerini uygulamak için kullanılan bir tür veri yolu aracıdır.

Veri Entegrasyonunun Uygulanması

A. Hazırlık & Risk Değerlendirmesi

Veri entegrasyonuna dalmadan önce kuruluşlar mevcut durumlarını değerlendirmelidir. Yeni araçlar uygularken yalnızca bir sistemi değil birden çok sistemi birbirine bağlamak dikkate alınmalıdır

İşe yarayan şeyi yeniden yapmak yerine, entegrasyondan yoksun alanlara odaklanılmalıdır. Bir sistemdeki başarı, diğerlerinin yolunu açabilir.

B. Kültürel Değişim

Veri entegrasyonu sadece teknik sorumluluklar içermez; veri analizi ve modelleme alanlarından da işin uzmanları dahil edilmelidir. Stratejik ve teknik görüşler birleştirilerek veri paylaşmanın standart bir yolu oluşturulmalıdır.

Veri Yönetişimi İlişkisi

Veri modellerinin ve veri dönüştürme kurallarının tasarımıyla ilgili kararlar, bir kuruluşun verilerini kullanma yeteneği üzerinde doğrudan bir etkiye sahiptir.

Bahsi geçen bu kararlar stratejik odaklı olmalıdır. İş kurallarının uygulanmasında birçok teknik husus olsa da, DII çözümlerine tamamen teknik bir yaklaşım sergilemek, veri eşlemelerinde ve dönüşümlerde hatalara yol açabilir.

Veri Yönetişimi 4 | Veri Güvenliği

Veri Yönetişimi 5 | Veri Entegrasyonu ve Uyumu

Veri Yönetişimi 6 | Doküman ve İçerik Yönetimi

Veri yönetişimi üzerine yazdığım bu yazı, DAMA topluluğunun DMBoK2 kitabında bahsedilen data governance prensipleri üzerine dayanmaktadır. Grafikler tarafımca hazırlanmış olup, izin almak şartıyla kullanılabilir.

--

--

Muhammet Şancı

A developer who loves coffee, and a graphic designer who draws coffee.