Veri depolarını IoT işlem hatlarıyla tümleştirme

Tamamlandı

Cosmos DB'yi başarıyla uyguladığınıza göre azure IoT hizmetleriyle nasıl tümleştirebileceğinizi belirlemeniz gerekir. Hem sıcak hem de soğuk yol seçeneklerinin kullanımını keşfetmeyi planlıyorsunuz. Bu araştırma, buluta özel uygulama tasarımınızın parçası olan akıllı alet envanteri ve cihaz telemetri senaryolarını hesaba eklemenizi kolaylaştırır. Ayrıca tasarımınızda kullanabileceğiniz diğer veri depolarını da tanımlamak istiyorsunuz.

Azure Cosmos DB'ye özgü tasarım konuları nelerdir?

Azure Cosmos DB veritabanı ve kapsayıcı hiyerarşisi tasarlarken, en iyi performans ve verimliliği sağlamak için bölüm anahtarının doğru seçimi gereklidir. Bu seçenek genellikle büyük hacimli akış verileri içeren IoT senaryolarında geçerlidir.

En uygun bölüm anahtarını seçerken, kullanım desenlerini ve tek bir mantıksal bölümün boyutu üzerindeki 20 GB sınırını dikkate almanız gerekir. Genel olarak en iyi yöntem, yüzlerce veya binlerce farklı değere sahip bir bölüm anahtarı oluşturmaktır. Bu yöntem, bu bölüm anahtarı değerleriyle ilişkili öğeler arasında depolama ve işlem kaynaklarının dengeli kullanımına yol açar. Aynı zamanda, aynı bölüm anahtarı değerini paylaşan öğelerin birleşik boyutu 20 GB'ı aşmamalıdır.

Örneğin, IoT verilerini toplarken telemetri akışı için /date özelliğini ve bu özellikler en yaygın veri sorgularının hedeflerini temsil ediyorsa cihaz envanteri için /deviceId kullanmayı seçebilirsiniz. Alternatif olarak, /deviceId ve /datedeğerlerini birleştirme gibi yapay bir bölüm anahtarı oluşturabilirsiniz. Bir diğer yaklaşım da bölüm anahtarı değerinin sonuna belirlenen aralık içinde rastgele bir sayı eklemektir. Bu yaklaşım, iş yükünün birden çok bölüm arasında dengeli bir şekilde dağıtılmasını sağlamaya yardımcı olur. Bu şekilde, öğeleri hedef koleksiyona yüklerken birden çok bölüm arasında paralel yazma işlemleri gerçekleştirebilirsiniz.

IoT senaryolarındaki veri işlem hatları nelerdir?

IoT senaryolarında yaygın bir durum, alınan veri akışını bölümleyerek veya veri kayıtlarını birden çok işlem hattına ileterek birden çok eşzamanlı veri yolunun uygulanmasıdır. Buna karşılık gelen mimari deseni Lambda mimarisi olarak adlandırılır ve iki farklı işlem hattı türünden oluşur.

Hızlı (sıcak) işlem hattı:

  • Gerçek zamanlı işleme gerçekleştirir.
  • Verileri analiz eder.
  • Veri içeriğini görüntüler.
  • Kısa vadeli, zamana duyarlı bilgiler oluşturur.
  • Uyarılar gibi ilgili eylemleri tetikler.
  • Verileri bir arşivde depolar.

Yavaş (soğuk) işlem hattı:

  • Birden çok kaynaktan ve uzun bir süre boyunca verileri birleştirerek daha karmaşık bir analiz gerçekleştirir.
  • Raporlar veya makine öğrenmesi modelleri gibi yapıtlar oluşturur.

Azure hizmetlerinin IoT işlem hatlarını uygulamadaki rolü nedir?

IoT sistemleri çok çeşitli cihazlar tarafından oluşturulan telemetri verilerini alır, neredeyse gerçek zamanlı içgörüler türetmek için akış verilerini işleyip analiz eder ve toplu analiz için verileri soğuk depolama alanına arşivler. Veri yolu, IoT cihazları tarafından oluşturulan telemetri verilerinin ilk işleme için Azure IoT Hub'a veya Azure IoT Central'a gönderilmesiyle başlar. Hem Azure IoT Hub hem de Azure IoT Central, yapılandırılabilir bir süre için veri topladı.

Azure IoT Central'ı buluta özel uygulamalar ve Azure hizmetleriyle tümleştirme seçenekleri.

Azure IoT Hub bölümleme ve ileti yönlendirmeyi destekler. Bu sayede Azure Logic Apps ve Azure İşlevleri tarafından işleme, uyarı ve düzeltme görevleri için belirli iletileri belirleyebilirsiniz. Eşdeğer işlevsellik Azure IoT Central'da kullanılabilir ve web kancaları aracılığıyla eylemleri tetikleyen özel olarak yapılandırılmış kurallarına dayanır. Web kancaları Azure İşlevleri, Azure Logic Apps, Microsoft Flow veya kendi özel uygulamalarınızı işaret edebilir. Azure IoT Hub yolları, telemetriyi ilk işleme için bir Azure işlevine iletmenize ve ardından Azure Cosmos DB'ye iletmenize de olanak tanır. Bu tür işlemlere örnek olarak biçim dönüştürme veya yapay bölüm anahtarı oluşturma verilebilir. Azure IoT Hub yollarının bir diğer olası kullanımı, gelen verileri Azure Blob Depolama'ya veya Azure Data Lake'e kopyalamaktır. Bu yöntem, Azure Machine Learning veri bilimi görevleri de dahil olmak üzere toplu işleme için uygun erişime sahip düşük maliyetli bir arşivleme seçeneği sağlar.

Azure IoT Central, Azure Event Hubs, Azure Service Bus ve özel web kancalarına sürekli veri dışarı aktarma olanağı sunar. Azure Blob depolama alanına aralık tabanlı veri dışarı aktarmayı yapılandırmak da mümkündür. Azure İşlevleri, Azure Event Hubs ve Azure Service Bus için bağlamaları destekler. Bu bağlamaları Azure Cosmos DB ile tümleştirmek için kullanabilirsiniz.

Azure IoT Central ile yerleşik analiz özellikleriyle neredeyse gerçek zamanlı içgörüler sağlayabilirsiniz. Daha gelişmiş analiz gereksinimleri için veya Azure IoT Hub kullanırken verileri Azure Stream Analytics'e aktarabilirsiniz. Azure Stream Analytics çıktı olarak Azure Cosmos DB SQL API'sini destekler ve akış işleme sonuçlarını JSON biçimli öğeler olarak Azure Cosmos DB kapsayıcılarına yazar. Bu, veri arşivlemeyi uygular ve yapılandırılmamış JSON verileri üzerinde düşük gecikme süresine ve geçici sorgulara olanak tanır. Değişiklik akışı işlevi, yeni verileri otomatik olarak algılar ve mevcut verilerde yapılan değişiklikleri algılar. Azure Cosmos DB'yi Azure Synapse Analytics'e bağlayarak bu verileri işleyebilirsiniz. İşlem tamamlandıktan sonra daha ayrıntılı raporlama için azure cosmos DB'ye geri yükleyebilirsiniz. Azure Databricks'i Apache Spark akışıyla kullanmak da mümkündür:

  • Azure IoT Hub'dan veri yükleme.
  • Gerçek zamanlı analiz sunmak için işleyin.
  • Uzun süreli saklama ve Azure Cosmos DB, Azure Blob depolama veya Azure Data Lake gibi Azure hizmetlerine daha fazla raporlama yapmak için arşivleyin.