Microsoft Azure Event Hubs Servisi ile Veri Edinme

Bir önceki yazımızda stream olarak gelen verinin elde edilmesi için kullanılabilecek olan yaygın seçeneklerden bahsetmiştik. Bu seçenekler içinde hem kullanım kolaylığı bakımından hem de tutulan verinin daha sonra analizini gerçekleştirileceği servislere entegre olması avantajı bakımından Microsoft Azure Event Hubs servisi bir adım öne çıkmaktadır. Bu yazımızda Microsoft Azure Event Hubs servisinin özelliklerini ve kullanımını ele alacağız.

AzureEventHubsOverview

Stream olarak gelen verinin analiz edilmesi için en kolay ve uygulanabilir çözümlerden biri de Microsoft Azure Event Hubs ve Microsoft Azure Stream Analytics servisleridir. Uzun yıllardır kullanıcı dostu tasarımlar yapan, ürettiği çözümlerde her zaman kullanım kolaylığını ön plana çıkaran Microsoft, bulut çözümü olan Microsoft Azure Servisleri ile de yine kullanımı kolay bulut hizmetleri çözümü sunmaktadır. Microsoft Azure Servisleri, SaaS (Software as a Service), PaaS (Platform as a Service) ve IaaS ( Infrastructure as a Service) olmak üzere üç farklı bölüme ayrılmaktadır. Burada Microsoft altyapı hizmetlerini çözüm olarak sunarak fiziksel bir müdahaleye gerek kalmadan sadece mantıksal (logical) yönetim hizmetini sunmaktadır. Ayrıca yazılım servisleri, veri servisleri ve platform olarak sunulan servisler ile de kullanımı kolay çözümlerini bizlere sunmaktadır.

Başta IoT (Internet of Things) nesneleri olmak üzere yüklü miktarda veri üreten birçok ortam bulunmaktadır. IoT cihazları gibi bir web sitesinin click stream verisi de çok yüklü miktarda veri üretmektedir. Saniyede milyonlarca event’in oluşturduğu bu verileri ilişkisel veri tabanlarında tutmak mümkün olmadığı için Microsoft Azure servislerinden Event Hubs servisi ile verileri elde etmek mümkün olabilmektedir. Event Hubs kullanılarak, stream olarak gelen yüklü miktarda veriyi uygulamalarda tanımladığımız endpoint’ler ve gateway’ler vasıtasıyla geçici bir ortamda tutmamıza olanak tanımaktadır. Event Hubs ile web sitesi üzerinde click stream ile oluşturulan kullanıcı verileri JSON, CSV veya AVRO formatlarında elde edilebilmektedir. Özellikle yazılım dillerinde sıklıkla kullanılan JSON formatı entegrasyon sistemleri için de kullanılan yaygın bir formattır. Web sitesi üzerinde oluşan tıklama ile gelen JSON formatındaki veriler uygulama tarafından Event Hubs’a gönderilmektedir. Uygulamadan gelen veriler ise Event Hubs servisinde belirlenen ayarlara göre geçici olarak tutulmaktadır. Event Hub servisi geçici bir veri ambarı gibi düşünülebilir. Microsoft Azure portalı üzerinden yapılabilen retention ayarı ile uygulamadan gelen verilerin ne kadar süre ile burada saklanacağı belirlenebilmektedir. En çok 30 güne kadar belirlenebilen bu ayar ile geçmişe dönük olarak da veriler saklanabilmektedir.

ic759858

Microsoft Azure Event Hubs servisinin bir başka avantajı da partiton’lara bölünebilmesidir. Bu şekilde aynı anda farklı partition’lara veriyi yazarak çok daha hızlı ve büyük miktarda veri işlenebilmektedir. Event Hubs ile 1 partition’dan başlayarak istenilen kadar partition oluşturulabilmektedir. Microsoft Azure portal üzerinden seçilebilecek maksimum partition değerinden daha fazla partition almak istenilirse Azure support ile iletişime geçilerek istenilen partition değeri talep edilebilir. Tabi ne kadar çok parititon değeri artarsa Event Hubs servisinin kullanım maliyeti de o derecede artacaktır. Ayrıca Event Hubs servisi için her bir partition 1 MB/sec veri akışına izin verebilmektedir. Ayrıca her bir Event Hub, Consumer Group içinde oluşturulmaktadır. Her bir Event Hub çözümünün ayrı bir Consumer Group altında oluşturulması tavsiye edilmektedir.

Yazıyı çok uzun tutup okunabilir bir halden çıkmasını önlemek için şimdilik genel özelliklerinden bahsettiğimiz Microsoft Azure Event Hubs servisini burada tanıtma kısmını tamamlıyoruz. Ancak yazı serisinin devamında Azure Event Hubs servisinin nasıl ayağa kaldırılacağı ile ilgili ayrıca makalelerimiz olacak. Şimdilik bu kadar yeterli 🙂

Serinin devamında görüşmek üzere…

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