Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure'da gerçek zamanlı akış işlemeye yönelik teknoloji seçenekleri karşılaştırır.
Akış verilerine genel bakış
Kuruluşlar genellikle iletileri, kayıtları veya verileri aynı anda yayan çeşitli veri kaynaklarına sahiptir. Veri miktarı birkaç bayttan birkaç megabayta (MB) kadar değişebilir. Akış verileri, sürekli ve artımlı bir şekilde yüksek hacimde yayımlanır ve neredeyse gerçek zamanlı olarak işlenebilir. Bu tür veriler, şirketlerin uygulama günlükleri, coğrafi konum güncelleştirmeleri, olaylar ve algılayıcı okumaları gibi işlerinin çeşitli yönlerine yönelik gerçek zamanlı analiz ve görünürlük için kullandığı bilgileri içerir.
Akış verileri genellikle aşağıdaki özelliklere sahiptir:
Kusurlu veri bütünlüğü: Kaynaktaki geçici hatalar eksik veri öğelerine neden olabilir. Akışın sürekli yapısı veri tutarsızlığını ortaya sürebilir. Bu nedenle akış işleme ve analiz sistemleri genellikle bu hataları azaltmak için veri doğrulama mantığını içerir.
Sürekli veri akışı: Veri akışının başlangıcı veya sonu yoktur, bu nedenle sürekli veri toplamanız gerekir. Örneğin, sunucu çalıştığı sürece sunucu etkinlik günlükleri birikir.
Çeşitli veri biçimleri: Verileri JSON, Avro ve CSV gibi birden çok biçimde akışla aktarabilirsiniz. Ayrıca dizeler, sayılar, tarihler ve ikili türler gibi çeşitli veri türlerini içerebilir. Akış işleme sistemlerinin bu veri çeşitlemelerini işlemesi gerekir.
Zamana duyarlı veri sırası: Veri akışındaki tek tek öğeler zaman damgaları içerir. Veri akışının kendisi de zamana duyarlı olabilir ve belirli bir süreden sonra değeri kaybedebilir. Bazı durumlarda veri işleme sırasını korumanız gerekir.
Gerçek zamanlı işleme için teknoloji seçenekleri
Doğru teknolojiyi seçmenize yardımcı olmak için bu bölümde Azure'da alımdan tüketime kadar yaygın seçenekler özetlenmiştir. Her alt bölüm, akış işleme akışındaki rollerine göre önerilen teknolojileri vurgular.
Üst düzey akış işleme süreci
Bu mimarinin Visio dosyasını indirin.
Akış içerik üreticileri
Akış üreticileri verileri oluşturur ve Azure veri alımı hizmetlerine iletir. Nesnelerin İnterneti (IoT) cihazları, uygulama günlükleri veya veritabanları gibi kaynaklardan sürekli olarak veri üretirler.
Akış üreticileri aşağıdaki avantajları sağlar:
Gerçek zamanlı veriye yakın bilgileri yakalayın. Üreticiler IoT cihazları, kullanıcı etkileşimleri ve uygulama günlükleri gibi kaynaklardan sürekli olarak veri toplayabilir. Verileri Azure Event Hubs veya Azure IoT Hub gibi Azure hizmetlerine akışla aktarır.
Toplu işleme ve sıkıştırma ile aktarım hızını iyileştirin. Üreticiler iletim sırasında veri boyutunu en aza indirmek için iletileri toplu olarak işleyebilir ve sıkıştırma uygulayabilir. Bu özellikler verimliliği artırır.
Hata işleme ve yeniden denemelerle güvenilir iletim sağlayın. Üreticiler, güvenilir veri teslimi sağlamak için otomatik yeniden denemeler aracılığıyla ağ kesintilerini veya aracı hatalarını yönetebilir.
İdempotentlik ile veri bütünlüğünü garanti edin. Üreticileri, yinelenen iletileri engelleyen ve tutarlı bir veri akışı sağlayan tam olarak bir kez teslimi destekleyecek şekilde yapılandırabilirsiniz.
Bileşenler
IoT Hub , IoT verilerini alır. Çift yönlü iletişim, çevrimdışı mesaj arabelleğe alma ve cihaz kimlik doğrulaması gibi özellikler sunar. IoT cihazlarını ve bunların veri akışlarını yönetmek için idealdir.
Değişiklik veri yakalama (CDC) üreticileri, Azure SQL Veritabanı ve Azure Cosmos DB gibi Azure veritabanlarını içerir.
CDC verilerine erişmek için SQL Veritabanı için Debezium veya Azure Cosmos DB değişiklik akışı gibi bağlayıcıları kullanabilirsiniz. Bu bağlayıcılar genellikle Azure İşlevleri veya Azure App Service ortamlarında barındırılır. Microsoft Fabric olay akışları özelliğini kullanıyorsanız CDC üreticilerini aşağı akış tüketicilerine bağlamak için Debezium gibi ayrı uygulamalara ihtiyacınız yoktur.
Debezium gibi özel uygulamalar, Azure Kubernetes Service (AKS) veya App Service ortamları gibi yönetilen hizmetlerde tek başına uygulamalar olarak da barındırılabilir. Bu yaklaşım daha fazla denetim veya özelleştirme sağlar.
Genel özellikler
Yetenek | IoT Merkezi | CDC üreticileri | Özel uygulamalar |
---|---|---|---|
Cihaz telemetrisi | Evet | Hayır | Hayır |
Yönetilen hizmet | Evet | Hayır | Hayır |
Ölçeklenebilirlik | Evet | Evet | Evet |
Veri akışı işleme
Web ve mobil uygulamalar, IoT cihazları ve algılayıcılar gibi üreticiler sürekli olarak veri oluşturur. Akış işleme işlem hattı, gerçek zamanlı ve toplu analiz için bu verileri verimli bir şekilde almalıdır.
Aşağıdaki etmenleri inceleyin:
Veri hızı: Genellikle biçim ve boyut olarak değişen birden çok kaynaktan gelen yüksek frekanslı verilerin nasıl işleneceğini belirleyin.
Ölçeklenebilirlik: Veri hacmi, çeşitliliği ve hızı arttıkça veri alımı katmanının dinamik olarak ölçeklendirilediğinden emin olun.
Veri bütünlüğü ve güvenilirliği: İletim sırasında veri kaybını veya yinelemeyi önleyin.
Bileşenler
Event Hubs , saniyede milyonlarca olayı işleyebilen ve yüksek aktarım hızı senaryoları için ideal hale getiren gerçek zamanlı bir veri alımı hizmetidir. Dinamik olarak ölçeklendirilebilir ve düşük gecikme süresiyle çok büyük hacimli verileri işleyebilir.
Event Hubs, paralel işleme ve veri saklama ilkeleri için bölümleme gibi özellikleri destekler. Azure Stream Analytics, Fabric, Azure Databricks ve Azure İşlevleri gibi Azure hizmetleriyle tümleştirilir. Event Hubs, Apache Kafka ile de tümleştirilir ve kod değişikliği yapmadan mevcut Kafka iş yüklerini çalıştırabilirsiniz.
Event Grid tam olarak yönetilen bir olay yönlendirme hizmetidir. Çeşitli kaynaklardan olayları alır, dağıtır ve bunlara tepki gösterir, bu nedenle gerçek zamanlı, olay odaklı mimariler için idealdir. Olay bildirimlerini verimli bir şekilde işler ve Azure hizmetleri, özel uygulamalar ve iş ortağı sistemleriyle tümleştirilir. Event Grid, akış alımında kritik bir rol oynar.
Azure HDInsight üzerinde Kafka , büyük ölçekte gerçek zamanlı veri alımı ve işlenmesi için yönetilen bir Apache Kafka hizmetidir. IoT cihazları, uygulama günlükleri ve sosyal medya akışları gibi çeşitli kaynaklardan akış verilerini yakalamak ve depolamak için bu hizmeti kullanın. Bu hizmet, yönetilen bir altyapıda Kafka yapılandırması üzerinde ek denetim sağlar.
Confluent Cloud üzerinde Apache Kafka , gerçek zamanlı veri alımı için tam olarak yönetilen bir Apache Kafka hizmetidir. Dağıtımı ve ölçeklendirmeyi basitleştirmek için Azure ile tümleşir. Bu çözüm şema kayıt defteri, akış sorguları için ksqlDB ve kurumsal düzeyde güvenlik gibi özellikleri içerir. Confluent'in genişletilmiş bağlayıcı ekosistemini ve akış işleme araçlarını kullanıyorsanız bu seçeneği kullanın.
Genel özellikler
Yetenek | Event Hubs | HDInsight üzerinde Kafka | Confluent üzerinde Kafka |
---|---|---|---|
İleti saklama | Evet | Evet | Evet |
İleti boyutu sınırı | 1 MB | Konfigüre edilebilir | Konfigüre edilebilir |
Yönetilen hizmet | Evet | Hizmet olarak yönetilen altyapı | Evet |
Otomatik Ölçeklendirme | Evet | Evet | Evet |
İş ortağı teklifi | Hayır | Hayır | Evet |
Fiyatlandırma modeli | Katmana göre | Küme saati başına | Tüketim modelleri |
Akış işleme
Bu adım, verileri gerçek zamanlı olarak dönüştüren ve alınan verileri filtreleme, toplama, zenginleştirme veya analiz etme işlemlerini içerir.
Aşağıdaki etmenleri inceleyin:
Durum bilgisi olan ve durum bilgisi olmayan işleme: İşlemenizin daha önce görülen verilere mi (durum bilgisi olan) yoksa bağımsız olaylara mı (durum bilgisi olmayan) bağlı olduğuna karar verin.
Olay zamanı işleme: Özellikle geç gelen kayıtlar için birden çok kaynaktan gelen veri akışlarını birlikte işlemeniz gereken senaryoları hesaba katın.
Pencereleme: Zamana dayalı toplamaları ve analizleri yönetmek için kayan veya yuvarlanan pencereleri kullanın.
Arızaya dayanıklılık: Sistemin veri kaybı veya yeniden işleme hataları olmadan hatalardan kurtaradığından emin olun.
Bileşenler
Stream Analytics , gerçek zamanlı analizi etkinleştirmek için SQL tabanlı sorgu dili kullanan yönetilen bir hizmettir. Veri akışlarını filtreleme, toplama ve birleştirme gibi basit işleme görevleri için bu hizmeti kullanın. Giriş ve çıkış için Event Hubs, IoT Hub ve Azure Blob Depolama ile sorunsuz bir şekilde tümleşir. Stream Analytics, SQL tabanlı sorgularla basit, yönetilen bir çözümün yeterli olduğu düşük karmaşıklıkta, gerçek zamanlı görevlere en uygun olanıdır.
Spark Yapılandırılmış Akış, Fabric, Azure Databricks ve Azure Synapse Analytics gibi hizmetler tarafından desteklenir. Bu hizmetler Apache Spark üzerinde oluşturulan ve karmaşık veri dönüşümlerini, makine öğrenmesi işlem hatlarını ve büyük veri iş yüklerini işleyebilen birleşik bir analiz platformu sağlar. Spark akış API'leri, veri sürümü oluşturma ve tutarlılık için Delta Lake ile derin tümleştirmeyi destekler.
Doku olay akışları , birleşik bir analiz platformu olan Doku içinde gerçek zamanlı bir veri akışı özelliğidir. Olay akışları, gerçek zamanlı analiz ve uygulamalar için akış verilerinin sorunsuz bir şekilde alımını, işlenmesini ve tümleştirilmesini sağlar. Kullanıcılar minimum teknik uzmanlıkla olay akışlarına erişebilir. Veri işlem hatlarını ayarlamak için sürükle ve bırak arabirimleri sağlar.
Azure İşlevleri , olay odaklı işleme için sunucusuz bir işlem hizmetidir. Verileri dönüştürme veya gerçek zamanlı olaylara göre iş akışlarını tetikleme gibi basit görevler için kullanışlıdır. Azure işlevleri tasarım gereği durumsuzdur. Dayanıklı işlevler özelliği, karmaşık olay koordinasyonu için durum bilgisi olan iş akışlarını destekleyecek şekilde özellikleri genişletir.
Genel özellikler
Yetenek | Akış Analizi | Spark Yapılandırılmış Akış (Fabric, Azure Databricks, Azure Synapse Analytics) | Fabric olay akışları | Azure İşlevleri |
---|---|---|---|---|
Mikro toplu işlem | Evet | Evet | Evet | Hayır |
Olay tabanlı işleme | Hayır | Hayır | Evet | Evet |
Durumlu işlem | Evet | Evet | Evet | Hayır |
Kontrol noktası desteği | Evet | Evet | Evet | Hayır |
Düşük kodlu arabirim | Evet | Hayır | Evet | Hayır |
Fiyatlandırma modeli | Akış birimleri | Evet | Kumaş SKU'su | Evet |
Akış havuzları
Sistem verileri işledikten sonra, verileri depolama, daha fazla analiz veya gerçek zamanlı uygulamalarda kullanmak üzere uygun hedeflere veya havuzlara yönlendirir. Bu hedefler veritabanlarını, veri göllerini, analiz araçlarını veya görselleştirme panolarını içerebilir.
Aşağıdaki etmenleri inceleyin:
Veri tüketimi ve kullanımı: Gerçek zamanlı analiz veya raporlama panoları için Power BI'i kullanın. Azure hizmetleriyle iyi tümleştirilir ve veri akışlarının canlı görselleştirmelerini sağlar.
Düşük gecikme süresi gereksinimleri: Sisteminizin cihaz telemetrisi ve uygulama günlükleri gibi gerçek zamanlı veri akışları üzerinde analiz sağlaması gerekip gerekmediğini belirleyin. Bazı uygulamalar, okuma ve yazma işlemleri için ultra düşük gecikme süresi gerektirebilir ve bu da onları operasyonel analiz veya gerçek zamanlı uygulamalar için uygun hale getirir.
Ölçeklenebilirlik ve birim: İş yükünüzün büyük hacimli verileri alma, çeşitli veri biçimlerini destekleme ve verimli ve uygun maliyetli bir şekilde ölçeklendirme gereksinimini değerlendirin.
Bileşenler
Azure Data Lake Storage yapılandırılmamış ve yarı yapılandırılmış verileri depolamak için ölçeklenebilir, dağıtılmış ve uygun maliyetli bir çözümdür. Büyük hacimli akış verilerini depolamak için petabayt ölçeğinde depolamayı ve yüksek aktarım hızına sahip iş yüklerini destekler. Ayrıca, akış verileri ve gerçek zamanlı veri işlem hatları üzerinde analizi destekleyen hızlı okuma ve yazma işlemlerine de olanak tanır.
Fabric eventhouse, telemetri ve günlük verileri, zaman serisi verileri ve IoT verileri gibi olay tabanlı veriler üzerinde gerçek zamanlı analiz ve keşif için bir KQL veritabanıdır. Düşük gecikme süresiyle saniyede milyonlarca olayın alımını destekler. Bu özellik akış verilerine neredeyse anında erişim sağlar. Bir etkinlik evi, Doku ekosistemi ile derinlemesine entegre olur. Kullanıcıların Power BI gibi araçları kullanarak akış verilerini hemen sorgulamalarını ve analiz etmelerini sağlar.
Azure Cosmos DB , düşük gecikme süresine, genel olarak dağıtılmış ve yüksek oranda ölçeklenebilir veri depolamaya yönelik bir NoSQL veritabanıdır. SQL, MongoDB, Cassandra, Table ve Gremlin gibi çeşitli uygulamalar için esneklik sağlayan birden çok API ile uyumludur. Azure Cosmos DB yüksek aktarım hızı sunar ve tutarlı performansla büyük hacimli akış verilerini işleyebilir.
SQL Veritabanı , tam olarak yönetilen, bulut tabanlı bir ilişkisel veritabanı hizmetidir. SQL Server altyapısı üzerine kurulmuştur. Bu nedenle, bulut tabanlı ölçeklenebilirlik, güvenilirlik ve azaltılmış yönetim yükünün avantajlarıyla geleneksel bir SQL Server veritabanının özelliklerini sağlar.
Genel özellikler
Yetenek | Veri Gölü Depolama | Fabric etkinlik mekanı | Azure Cosmos DB veritabanı | SQL Veritabanı |
---|---|---|---|---|
Genel amaçlı nesne deposu | Evet | Hayır | Hayır | Hayır |
Akış veri toplamaları | Hayır | Evet | Hayır | Hayır |
JSON belgeleri için düşük gecikme süreli okuma ve yazma işlemleri | Hayır | Evet | Evet | Hayır |
Power BI için yapılandırılmış veri toplamaları | Hayır | Evet | Hayır | Evet |
Fiyatlandırma modeli | GB veya TB başına | Kumaş SKU'su | İstek birimleri | Veritabanı işlem birimi (DTU) veya sanal çekirdek |
Katkıda Bulunanlar
Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.
Asıl yazar:
- Pratima Valavala | Baş Çözüm Mimarı
Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- Kumaş Eventhouse
- Kumaş
- Data Lake Storage
Aşağıdaki eğitim modüllerini keşfedin:
- Azure İşlevleri keşfedin
- Stream Analytics'i kullanmaya başlama
- Gelişmiş akış veri dönüştürmeleri gerçekleştirme
- Azure Databricks'te Apache Spark kullanma