Büyük veri ile çalışması planlanan sistemlerin tasarımı

Büyük veri soyut bir kavram olduğu için sıklıkla 3V (Volume (Hacim), Velocity (Hız), Variety (Farklılık) ) özelliği ile tanımlanmaktadır. Yanıltıcı bir terminoloji kullanılmış olsa da özünde büyük veri, verinin sadece çok olması ile açıklanamaz.

Verinin hızı ve çeşitliliği de en az büyüklüğü kadar yönetimini zorlaştıran unsurlardır. Bu noktada ilişkisel veri tabanları ve bunların üzerine kurgulanan geleneksel veri ambarları aşağıdaki gereksinimlere cevap vermek konusunda yetersiz kalmaktadır.

• Yeni Veri Türleri: Analiz edilecek kaynak çok çeşitli olduğundan verinin her zaman yapısal olması söz konusu değildir. Her türlü kaynağın analize anlık/ sürekli dahil edilebilmesi veri analizi açısından kıymetlidir.

• Gelişmiş Veri İşleme Yetenekleri: Şema odaklı sorgular dışında etkin ve anlık veri işleme yöntemleri uygulanabilir olmalıdır.

• Yüksek Başarım: İşlenecek veri büyük ve hızlı olduğundan uygulanacak analiz yöntemleri ölçeklenebilir bir başarım göstermeli ve bunun mümkün olması için gerekli önlemler alınmalıdır. Geleneksel sistemlerden farklı olarak bu noktada gerekli başarım, birçok sistem için işlevsel bir gereksinimdir.

Büyük veri için sunulan çözümler, geleneksel yöntemlere göre sistem mimarisi, veri analizi ve görselleştirme açısından farklılıklar göstermektedir.

1. Genel Sistem Mimarisi

Bir büyük veri çözümü için kullanılacak sistem mimarisinin aşağıdaki problemlere çözüm sağlaması gerekmektedir 1]:

1- Büyük hacimli verinin depolanması ve işlenmesi,

2- Yapısal olmayan verinin analiz ve raporlama için dönüştürülmesi,

3- Akan verinin (data stream) gerçek zamanlı olarak veya düşük gecikmeyle işlenmesi ve analiz edilmesi.

Yukarıda belirtilen problemlere yönelik çeşitli sistem mimarileri önerilmiştir. Bunların arasında yaygın olarak Lambda ve Kappa mimarileri kullanılmaktadır.

Lambda Mimarisi:

Bir yazılım mimari tasarımı olarak sunulan Lambda mimarisi, verinin toplu ve anlık bir şekilde işlenmesini tek bir çerçevede birleştirir. Şekil 1 Lambda mimarisinin temel yapısı gösterilmektedir.

Lambda mimarisinin bileşenleri şunlardır:

• Toplu İş Katmanı: Sisteme gelen bütün verinin ham halinin depolandığı ve veri üzerinde gerçekleştirilecek işlemlerin toplu olarak yapıldığı iş katmanıdır. Bu katmanda gerçekleştirilen işlemlerin sonuçları sunum katmanında kullanılmak üzere depolanır.

• Hız Katmanı: Hız katmanı, toplu iş katmanından sunum katmanına yapılan güncellemelerin yüksek gecikmesini telafi etmeyi amaçlamaktadır. Gelen veriler ile yapılacak artırımsal güncellemeler (toplu iş katmanı sonuçları üstüne) ve anlık analizler burada ele alınır (Düşük gecikmeli işler).

• Servis Katmanı: Tüm analiz işlemlerinin yönetildiği, kullanıcı sorgularının ilk çalıştırıldığı katmandır. Burada sorgunun ifade edilmesi için bir DSL (Domain Specific Language) kullanılabilir.

Lambda mimarisinin en belirgin dezavantajlarından birisi karmaşıklığıdır. Veri üzerinde gerçekleştirilen işlemler hem hız hem de toplu iş katmanlarında gerçekleştirilmektedir. Bu durum aynı hesaplamaların birden fazla kez tekrar edilmesine neden olmaktadır.

Jay Kreps tarafından önerilen Kappa mimarisi, Lambda mimarisinin sadeleştirilmiş halidir. Bu sadeleştirme Lambda mimarisinden toplu iş katmanı çıkartılarak elde edilmiştir.

Salt insan gücü ile erişilemeyecek bilgilere çizge analizi, makine öğrenmesi ve derin öğrenme gibi alanların sağladıkları yöntemlerle ulaşmak mümkündür.

2. Veri Analizi

Salt insan gücü ile erişilemeyecek bilgilere çizge analizi, makine öğrenmesi ve derin öğrenme gibi alanların sağladıkları yöntemlerle ulaşmak mümkündür. Öte yandan, elde edilebilecek bilginin kalitesi ancak problem alanın kapsamlı incelenmesi, mevcut yöntemlerin doğru ve etkin kullanılması; veri boyutu, akış hızı ve değişkenliğini analiz ederek tasarlanmış alt yapılarla mümkündür. Ölçeklenebilir bir çözüm için, probleme bağlı olarak seçilmiş uygun makine öğrenmesi (ML) algoritmalarının, dağıtık veri altyapısına uygun geliştirimleri kullanılmalıdır (Ör. Apache Spark (Spark ML), Apache Mahout). ML kütüphanesi seçimi sırasında “in-memory computing (bellek için işlem)” sağlayan kütüphanelerin diğerlerine göre modellerin eğitiminde çok daha hızlı olduğu da hatırlanmalıdır 2].

3. Veri Görselleştirme

Büyük veri üzerinden yapılan raporlama ve analiz işlemlerinin analizlere değer katabilmesi için veri görselleştirme devreye girmekte ve son kullanıcının önüne kolay anlayabileceği ve yorumlayabileceği çıktılar üretilmektedir.

Büyük verinin görselleştirilebilmesi için çeşitli yöntemler kullanılmaktadır. Aşağıda en çok tercih edilen bazı yöntemler verilmiştir 3]:

1- Veri İndirgeme (Data Reduction)

2- Hiyerarşik Yaklaşımlar (Hierarchical Approaches)

3- Aşamalı Artan Sonuçlar (Progressive Results)

4- Önbelleğe Alma ve Önceden Getirme (Caching and prefetching)

Kaynak: HAVELSAN Dergi 7. sayı / AR-GE Mühendisi Uğur SOPAOĞLU

Yorum yapın