Akan Veri İşleyen Dağıtık Sistemlerde Dinamik Ölçekleme
Tezin Türü: Yüksek Lisans
Tezin Yürütüldüğü Kurum: İstanbul Üniversitesi-Cerrahpaşa, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü, Türkiye
Tezin Onay Tarihi: 2019
Tezin Dili: Türkçe
Öğrenci: Mert Kavi
Danışman: Zeynep Orman
Açık Arşiv Koleksiyonu: AVESİS Açık Erişim Koleksiyonu
Özet:Gelişen teknoloji ile birlikte kuruluşlar büyük hacimde ve hızda veri üretmektedir. Sayısı sürekli artan veri kaynakları birçok veri akışı oluşturmaktadır. Oluşan bu verileri gerçek zamanlı olarak işleyebilmek ve analiz edebilmek, uygulamaları devamlı olarak gözlemleyebilmek ve bu sayede müşterilerine kişiselleştirilmiş teklifler vererek ürün önerileri yapabilmek kurumlara rekabet ortamında çok ciddi avantajlar sağlamaktadır. Bununla birlikte, akan veriyi işleyen dağıtık sistemleri inşa etmek ve operasyonunu sağlamak oldukça karmaşık ve maliyetli bir süreçtir. Sistemlerin, veri akışının değişen hızlarına adapte olabilmesi ve gerektiğinde ölçeklenmesi gerekmektedir. Bu nedenle, akan veriyi işleyen dağıtık sistemlere entegre edilecek etkin bir otomatik ölçekleme sistemi kullanılması çoğu zaman kaçınılmazdır. Özellikle, son yıllarda, hızla artan akan veri kaynaklarını işleyebilen sistemlere olan ilgi oldukça artmıştır ve literatürde de bu alanda yapılan çok sayıda çalışma bulunmaktadır. Bu çalışmaların birçoğu sistemin değişen iş yüklerine adapte olabilmesi ve ölçeklenebilirlik konusundan ziyade sistemin olağan şartlarda nasıl çalışacağı üzerine bir takım sistem önerileri üzerine yoğunlaşmıştır. Ölçeklenebilirlik üzerine literatürde az sayıda çalışma bulunmaktadır. Ayrıca, Apache Flink üzerine yapılan çalışma sayısı da oldukça azdır. Bu tez çalışmasında, yukarıda bahsettiğimiz problemlerden ve literatürdeki bu eksikliklerden yola çıkılarak, Apache Flink üzerinde çalışan değişen çalışma yüklerine adapte olabilen bir sistem tasarımı önerilmiştir. Büyük veri işleyen sistemlere entegre çalışabilecek bu model ile sistem performanslarının geliştirilmesi hedeflenmiştir. Apache Flink hem geliştirme yapacağımız sistem hem de ölçekleme metriklerini alıp hesaplama yapan bir bileşen olarak kullanılmıştır. Apache Flink metrikleri, Akka kullanılarak Apache Kafka'ya gönderilmiştir. Apache Kafka sistem metriklerini toplayan ve dağıtan bir mesaj kuyruğu olarak konumlandırılmıştır. Apache Flink'in sağladığı metrikler içerisinden en doğru sonuca ulaştıracak metrikler seçilmiş ve oluşturulmuştur. Sistemin hangi durumlarda ölçeklendiği ve ölçeklemeden sonraki durumu analiz edilmiştir. Elde edilen sonuçlar simülasyon çalışmaları ile gösterilerek önerilen sistem metodolojisinin etkinliği test edilmiştir.