Veri Edinme Seçenekleri (Azure Event Hubs, AWS Kinesis, Apache Kafka)

Bir önceki yazımızda Advanced Data Analytics kavramından ve stream olarak gelen büyük verinin analiz edilmesinin gerekliliğinden bahsetmiştik. Özellikle Internet of Things (IoT) cihazları başta olmak üzere saniyede milyonlarca veri üretebilen sistemler günümüzde hiç de az değil. Üstelik bu kadar kısa sürede üretilen bu kadar büyük verileri bir yerde depolamak ve ardından standart iş zekası çözümleri ile analizini yapmak pek mümkün de olmamaktadır. Saniyede milyonlarca veri üreten bir sistemin verilerini ilişkisel bir veritabanı sisteminde tutmak şu anda mümkün değildir. Böyle senaryolar için stream olarak üretilen büyük miktarda verinin elde edilmesi ve gerekli analizlerin yapılması için geçici bir ortamda tutulabilmesi gerekmektedir.

Stream_3

Teknoloji firmaları bu gibi ihtiyaçları karşılayabilmek için çeşitli çözümler üretip şirketlerin kullanımına sunmaktadır. Bunlara örnek olarak en başta Microsoft’un Azure portali üzerindeki çözümlerinden olan Azure Event Hubs verilebilir. Yine aynı şekilde yüklü miktarda veriyi elde etmek için Amazon Web Services (AWS) Kinesis ve Apache Kafka gibi sistemler çözüm olarak sunulabilecek diğer örneklerdendir. Bunların dışında da kullanılabilecek başka çözümler ve custom geliştirmeler olabileceği gibi, şu anda en yaygın kullanımı olan, kullanımı en kolay yöntemler olarak bu servisleri sayabilmekteyiz. Aşağıdaki şekilde farklı kaynaklardan stream verinin elde edilmesi ve ardından bu verilerin analiz aşamasına yönlendirilmesi konusundaki mimari yer almaktadır. Event Hub ve Stream Analytics servislerinin yapısını aktaran bu mimari şemaya ait detayları ilerleyen yazılarımızda ayrıca ele alacağız.

6327.image_thumb_5D0180F9

Microsoft Azure Event Hubs dışında diğer yaygın kullanımlardan olan Amazon Web Services (AWS) Kinesis‘e ait benzer çalışma metodolijisine ait yapıyı da aşağıda bulabilirsiniz.

awskinesis

Benzer şekilde stream olarak akan verinin elde edilmesi açısından kullanılabilecek üçüncü bir çözüm olarak Apache Kafka da kullanılabilmektedir. Kafka ürününde de veri elde etme açısından avantaj sağlayacak noktalar bulunmaktadır. Aşağıda genel olarak benzer bir işlem olan çözümü görebilirsiniz.

current-and-future-of-apache-kafka-9-638

Her üç seçenek de aslında benzer amaçla kullanılabilmektedir. Genel amacımız stream olarak üretilen çok büyük miktardaki verilerin anlık olarak analizlerinin yapılabilmesi için verilerin tutulabileceği geçici bir ortam sağlamalarıdır. Elde edilen ve burada geçici olarak tutulan veri daha sonra veri analizi için kullanılabilecek servislere veri kaynağı görevi görecektir. Örneğin Microsoft Azure çözümleri ele alındığında Azure Event Hubs ile elde edilen veriler analiz edilmek için Azure Stream Analytics servisine aktarılacak ve burada analizi yapılarak istenilen işlemler gerçekleştirilebilecektir.

Bu üç servis çözümü için daha detaylı bilgileri ve özellikle Microsoft Azure Event Hubs çözümünün detaylı bilgileri ve uygulanması ile ilgili ilerleyen yazılarda bilgi vereceğim. Devamı gelecek… 🙂

Faydalı olması dileğiyle…

Yazar: Abdullah ALTINTAŞ

Dipnot: Yazı içinde kullanılan görsel öğeler için Microsoft Azure Documentation sayfası ve çeşitli kaynaklardan faydalanılmıştır.

Yorum Yaz