دمج مخازن البيانات مع البنى الأساسية لـ IoT

مكتمل

الآن بعد أن نجحت في تنفيذ Cosmos DB، تحتاج إلى تحديد كيفية دمجه مع خدمات Azure IoT. كنت تخطط لاستكشاف استخدامه من كل من خيارات المسار الساخن والبارد. يسهل هذا الاستكشاف حساب مخزون الأجهزة الذكية وسيناريوهات القياس عن بعد للجهاز التي تعد جزءا من تصميم التطبيق الأصلي على السحابة. كما تريد تحديد مخازن البيانات الأخرى التي قد تتمكن من استخدامها في تصميمك.

ما هي اعتبارات التصميم الخاصة في Azure Cosmos DB؟

عند تصميم قاعدة بيانات Azure Cosmos DB والتسلسل الهرمي للحاويات، يعد الاختيار الصحيح لمفتاح القسم أمرا ضروريا لضمان الأداء الأمثل والكفاءة. هذا الاختيار ذو صلة في سيناريوهات IoT التي تتضمن عادة كميات كبيرة من البيانات المتدفقة.

عند اختيار مفتاح التقسيم الأكثر ملاءمة، يجب مراعاة أنماط الاستخدام والحد الأقصى 20 غيغابايت على حجم أي قسم منطقي فردي. وبشكل عام، أفضل الممارسات هي إنشاء مفتاح تقسيم مع مئات أو آلاف من القيم المميزة. يؤدي هذا الأسلوب إلى الاستخدام المتوازن لموارد التخزين والحوسبة عبر العناصر المقترنة بقيم مفتاح القسم هذه. في نفس الوقت، يجب ألا يتجاوز الحجم المجمع للعناصر التي تشترك في نفس قيمة مفتاح التقسيم 20 غيغابايت.

على سبيل المثال، عند جمع بيانات IoT، قد تختار استخدام خاصية /date لتدفق بيانات تتبع الاستخدام و /deviceId لمخزون الجهاز، إذا كانت هذه الخصائص تمثل أهداف استعلامات البيانات الأكثر شيوعا. بدلا من ذلك، يمكنك إنشاء مفتاح تقسيم اصطناعي، مثل تسلسل القيم /deviceId و/date. أسلوب آخر هو إلحاق رقم عشوائي ضمن نطاق معين في نهاية قيمة مفتاح التقسيم. يساعد هذا النهج على ضمان التوزيع المتوازن لحمل العمل عبر أقسام متعددة. وبهذه الطريقة، أثناء تحميل العناصر في المجموعة الهدف، يمكنك تنفيذ عمليات الكتابة المتوازية عبر أقسام متعددة.

ما هي البنى الأساسية للبيانات في سيناريوهات IoT؟

من الحوادث الشائعة في سيناريوهات IoT تنفيذ مسارات بيانات متزامنة متعددة، إما عن طريق تقسيم دفق البيانات الذي تم استيعابه، أو عن طريق إعادة توجيه سجلات البيانات إلى بنى أساسية متعددة. ويشار إلى النمط المعماري المقابل باسم بنية Lambda ويتكون من نوعين متميزين من البنى الأساسية.

بنية أساسية للمعالجة السريعة (ساخن):

  • تنفيذ المعالجة في الوقت الحقيقي.
  • تحليل البيانات.
  • عرض محتوى البيانات.
  • إنتاج معلومات قصيرة الأجل وحساسة للوقت.
  • تشغيل الإجراءات المطابقة، مثل التنبيهات.
  • يخزن البيانات في أرشيف.

بنية أساسية للمعالجة البطيئة (بارد):

  • إجراء تحليل أكثر تعقيدا، من المحتمل أن يجمع بين البيانات من مصادر متعددة وعلى مدى فترة طويلة من الزمن.
  • إنشاء قطع مثل التقارير أو نماذج التعلم الآلي.

ما هو دور خدمات Azure في تنفيذ البنى الأساسية لـ IoT؟

تبتاع أنظمة إنترنت الأشياء بيانات تتبع الاستخدام التي تم إنشاؤها بواسطة مجموعة واسعة من الأجهزة، وتعالج البيانات المتدفقة وتحللها لاشتقاق رؤى قريبة من الوقت الحقيقي، وأرشفة البيانات إلى التخزين البارد لتحليلات الدفعات. يبدأ مسار البيانات مع بيانات تتبع الاستخدام التي تم إنشاؤها بواسطة أجهزة IoT والتي يتم إرسالها للمعالجة الأولية إلى Azure IoT Hub أو Azure IoT Central. يقوم كل من Azure IoT Hub وAzure IoT Central بتخزين البيانات المجمعة لفترة زمنية قابلة للتكوين.

The options for integrating Azure IoT Central with cloud-native applications and Azure services.

يدعم Azure IoT Hub التقسيم وتوجيه الرسائل، مما يسمح لك بتعيين رسائل محددة لمهام المعالجة والتنبيه والإصلاح بواسطة تطبيقات Azure Logic ودوال Azure Functions. وتتوفر الوظائف المكافئة في Azure IoT Central وتستند إلى قواعدها التي تم تكوينها خصيصا والتي تؤدي إلى اتخاذ إجراءات من خلال إخطارات على الويب. يمكن أن تشير الإخطارات على الويب إلى دوال Azure Functions أو تطبيقات Azure Logic أو Microsoft Flow أو التطبيقات المخصصة الخاصة بك. تسمح لك مسارات Azure IoT Hub أيضا بإعادة توجيه بيانات تتبع الاستخدام إلى دالة Azure للمعالجة الأولية ثم إعادة توجيهها إلى Azure Cosmos DB. وتشمل الأمثلة على مثل هذه المعالجة تحويل التنسيق أو إنشاء مفتاح تقسيم اصطناعي. استخدام محتمل آخر لمسارات Azure IoT Hub يتضمن نسخ البيانات الواردة إلى Azure Blob Storage أو Azure Data Lake. يوفر هذا الأسلوب خيار أرشفة منخفض التكلفة، مع وصول مناسب لمعالجة الدفعات، بما في ذلك مهام علوم البيانات التعلم الآلي Azure.

يقدم Azure IoT Central تصديرا مستمرا للبيانات إلى Azure Event Hubs، ناقل خدمة Azure، وإخطارات الويب المخصصة. من الممكن أيضاً تكوين تصدير البيانات المستندة إلى الفاصل الزمني إلى تخزين Azure Blob. تدعم Azure Functions روابط Azure Event Hubs و ناقل خدمة Azure، والتي يمكنك استخدامها لدمجها مع Azure Cosmos DB.

باستخدام Azure IoT Central، يمكنك توفير نتائج في الوقت شبه الفعلي مع القدرات التحليلية المضمنة. للحصول على مزيد من الاحتياجات التحليلية المتقدمة أو عند استخدام Azure IoT Hub، يمكنك إرسال البيانات إلى Azure Stream Analytics. Azure Stream Analytics يدعم SQL API في Azure Cosmos DB كخرج له، مع كتابة نتائج معالجة الدفق كعناصر منسقة من JSON في حاويات Azure Cosmos DB. وهذا ينفذ أرشفة البيانات ويسمح باستعلامات مخصصة ذات زمن انتقال منخفض على بيانات JSON غير المنظمة. تقوم وظيفة موجز التغيير تلقائيا باكتشاف البيانات والتغييرات الجديدة في البيانات الموجودة. يمكنك معالجة هذه البيانات عن طريق توصيل Azure Cosmos DB ب Azure Synapse Analytics. بعد اكتمال المعالجة، يمكنك تحميلها مرة أخرى إلى Azure Cosmos DB لمزيد من التقارير المتعمقة. من الممكن أيضا استخدام Azure Databricks مع دفق Apache Spark من أجل:

  • تحميل البيانات من Azure IoT Hub.
  • معالجتها لتقديم تحليلات في الوقت الحقيقي.
  • أرشفته للاحتفاظ به على المدى الطويل والمزيد من التقارير إلى خدمات Azure مثل Azure Cosmos DB أو تخزين Azure Blob أو Azure Data Lake.