اختيار تقنية معالجة الدفق في Azure
تقارن هذه المقالة خيارات التكنولوجيا لمعالجة التدفق في الوقت الحقيقي في Azure.
تستهلك معالجة التدفق في الوقت الحقيقي الرسائل من قائمة الانتظار أو التخزين المستند إلى الملفات، وتعالج الرسائل، وتحيل النتيجة إلى قائمة انتظار رسائل أخرى أو مخزن ملفات أو قاعدة بيانات أخرى. قد تتضمن المعالجة الاستعلام عن الرسائل وتصفيتها وتجميعها. يجب أن تكون محركات معالجة التدفق قادرة على استهلاك تدفقات لا نهاية لها من البيانات وإنتاج نتائج بأقل زمن انتقال. لمزيد من المعلومات، راجع المعالجة في الوقت الحقيقي.
ما هي خياراتك عند اختيار تقنية للمعالجة في الوقت الحقيقي؟
في Azure، ستلبي جميع مخازن البيانات التالية المتطلبات الأساسية التي تدعم المعالجة في الوقت الحقيقي:
- Azure Stream Analytics
- HDInsight مع Spark Streaming
- Apache Spark في Azure Databricks
- دالات Azure
- Azure App Service WebJobs
- Apache Kafka ينقل باستمرار API
معايير اختيار المفتاح
بالنسبة لسيناريوهات المعالجة في الوقت الحقيقي، ابدأ في اختيار الخدمة المناسبة لاحتياجاتك من خلال الإجابة عن هذه الأسئلة:
هل تفضل نهجا تعريفيا أو إلزاميا لتأليف منطق معالجة التدفق؟
هل تحتاج إلى دعم مضمن للمعالجة الزمنية أو النوافذ؟
هل تصل بياناتك بتنسيقات إلى جانب Avro أو JSON أو CSV؟ إذا كانت الإجابة بنعم، ففكر في الخيارات التي تدعم أي تنسيق باستخدام التعليمات البرمجية المخصصة.
هل تحتاج إلى توسيع نطاق المعالجة الخاصة بك إلى ما بعد 1 جيجابت في الثانية؟ إذا كانت الإجابة بنعم، ففكر في الخيارات التي يتم تغيير حجمها مع حجم نظام المجموعة.
مصفوفة الإمكانات
تلخص الجداول التالية الاختلافات الرئيسية في القدرات.
الإمكانات العامة
الإمكانية | Azure Stream Analytics | HDInsight مع Spark Streaming | Apache Spark في Azure Databricks | دالات Azure | Azure App Service WebJobs |
---|---|---|---|---|---|
قابلية البرمجة | SQL، JavaScript | C#/F#، Java، Python، Scala | C#/F#، Java، Python، R، Scala | C#، F#، Java، Node.js، Python | C#، Java، Node.js، PHP، Python |
نموذج البرمجة | تصريحي | مزيج من التعريفية والإلزامية | مزيج من التعريفية والإلزامية | الإلزامي | الإلزامي |
نموذج الأسعار | وحدات التدفق | تكلفة العقدة في الدقيقة | وحدات Databricks | تنفيذ كل وظيفة واستهلاك الموارد | لكل ساعة خطة App Service |
إمكانات التكامل
الإمكانية | Azure Stream Analytics | HDInsight مع Spark Streaming | Apache Spark في Azure Databricks | دالات Azure | Azure App Service WebJobs |
---|---|---|---|---|---|
الإدخالات | مراكز أحداث Azure، مركز Azure IoT، تخزين Azure Blob/Data Lake Storage Gen2 | Event Hubs، IoT Hub، Kafka، HDFS، Storage Blobs، Azure Data Lake Store | Event Hubs، IoT Hub، Kafka، HDFS، Storage Blobs، Azure Data Lake Store | الروابط المدعومة | ناقل الخدمة، وقوائم انتظار التخزين، والكائنات الثنائية كبيرة الحجم للتخزين، ومراكز الأحداث، وWebHooks، وAzure Cosmos DB، والملفات |
متلقون | Azure Data Lake Storage Gen 1 وAzure Data Explorer وAzure Database for PostgreSQL وAzure SQL Database وAzure Synapse Analytics وتخزين Blob وAzure Data Lake Gen 2 وAzure Event Hubs وPower BI وتخزين جدول Azure وقوائم انتظار ناقل خدمة Azure وموضوعات ناقل خدمة Azure وAzure Cosmos DB وAzure Functions | HDFS وKafka وStorage Blobs وAzure Data Lake Store وAzure Cosmos DB | HDFS وKafka وStorage Blobs وAzure Data Lake Store وAzure Cosmos DB | الروابط المدعومة | ناقل الخدمة، وقوائم انتظار التخزين، والكائنات الثنائية كبيرة الحجم للتخزين، ومراكز الأحداث، وWebHooks، وAzure Cosmos DB، والملفات |
إمكانات المعالجة
الإمكانية | Azure Stream Analytics | HDInsight مع Spark Streaming | Apache Spark في Azure Databricks | دالات Azure | Azure App Service WebJobs |
---|---|---|---|---|---|
دعم المعالجة الزمنية/النوافذ المضمنة | نعم | نعم | نعم | لا | لا |
تنسيقات بيانات الإدخال | Avro أو JSON أو CSV أو UTF-8 مشفر | أي تنسيق يستخدم التعليمات البرمجية المخصصة | أي تنسيق يستخدم التعليمات البرمجية المخصصة أي تنسيق باستخدام التعليمات البرمجية المخصصة | أي تنسيق يستخدم التعليمات البرمجية المخصصة | |
قابلية التوسع | أقسام الاستعلام | مقيد بحجم نظام المجموعة | مقيد بتكوين مقياس مجموعة Databricks | معالجة ما يصل إلى 200 مثيل تطبيق دالة بالتوازي | مقيد بسعة خطة App Service |
دعم معالجة الأحداث المتأخرة وغير النظامية | نعم | نعم | نعم | لا | لا |
المساهمون
تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.
الكاتب الرئيسي:
- زوينر تيجادا | المدير التنفيذي والمهندس المعماري
الخطوات التالية
- نظرة عامة على App Service
- استكشاف Azure Functions
- بدء استخدام Azure Stream Analytics
- إجراء تحويلات متقدمة لبيانات الدفق
- إعداد أنظمة المجموعات في HDInsight
- استخدام Apache Spark في Azure Databricks