أهمية حمل عمل Azure Synapse Analytics
توضح هذه المقالة كيفية تأثير أهمية حمل العمل على ترتيب التنفيذ لطلبات تجمع SQL المخصصة في Azure Synapse.
الأهمية
يمكن أن تتطلب احتياجات الأعمال أحمال عمل تخزين البيانات لتكون أكثر أهمية من غيرها. ضع في اعتبارك سيناريو يتم فيه تحميل بيانات المبيعات الخاصة بالمهمة الهامة قبل إغلاق الفترة المالية. لا تحتوي عمليات تحميل البيانات للمصادر الأخرى مثل بيانات الطقس على اتفاقيات مستوى الخدمة الدقيقة. يضمن تعيين أهمية عالية لطلب تحميل بيانات المبيعات وأهمية منخفضة لطلب تحميل بيانات الطقس حصول تحميل بيانات المبيعات على أول وصول إلى الموارد وإكماله بسرعة أكبر.
مستويات الأهمية
هناك خمسة مستويات من الأهمية: low وbelow_normal وnormal وabove_normal وhigh. يتم تعيين المستوى الافتراضي للطلبات التي لم يتم تعيين الأهمية لها. الطلبات التي لها نفس مستوى الأهمية لها نفس سلوك الجدولة الموجود اليوم.
سيناريوهات الأهمية
بالإضافة إلى سيناريو الأهمية الأساسية الموضح أعلاه مع بيانات المبيعات والطقس، هناك سيناريوهات أخرى إذ تساعد أهمية حمل العمل على تلبية احتياجات معالجة البيانات والاستعلام عنها.
قفل
يعد الوصول إلى تأمينات لنشاط القراءة والكتابة مجالًا من مجالات الاتصال الطبيعي. تتطلب الأنشطة مثل تبديل الأقسام أو RENAME OBJECT عمليات تأمين عالية. يعمل تجمع SQL المخصص، دون أهمية حمل العمل، في Azure Synapse على تحسين معدل النقل. يعني تحسين معدل النقل أنه عندما يكون للطلبات قيد التشغيل وفي قائمة الانتظار نفس احتياجات التأمين والموارد المتوفرة، يمكن للطلبات المدرجة في قائمة الانتظار تجاوز الطلبات ذات احتياجات التأمين الأعلى التي وصلت إلى قائمة انتظار الطلبات في وقت سابق. بمجرد تطبيق أهمية حمل العمل على الطلبات ذات احتياجات التأمين الأعلى. سيتم تشغيل الطلب ذي الأهمية الأعلى قبل الطلب ذي الأهمية الأقل.
انظر في المثال التالي:
- يتم تشغيل Q1 بشكل فعال ويحدد البيانات من SalesFact.
- يتم وضع Q2 في قائمة الانتظار حتى يكتمل Q1. تم إرساله في الساعة 9 صباحًا ويحاول تقسيم البيانات الجديدة إلى SalesFact.
- يتم إرسال Q3 في الساعة 9:01 صباحًا ويريد تحديد البيانات من SalesFact.
إذا كان لـ Q2 وQ3 نفس الأهمية ولا يزال Q1 قيد التنفيذ، فسيبدأ Q3 في التنفيذ. سيستمر Q2 في انتظار تأمين حصري على SalesFact. إذا كان Q2 ذي أهمية أعلى من Q3، فسينتظر Q3 حتى ينتهي Q2 قبل أن تتمكن من بدء التنفيذ.
طلبات غير منتظمة
يتمثل سيناريو آخر في إمكانية مساعدة الأهمية على تلبية طلبات الاستعلام عند تقديم الطلبات مع فئات موارد مختلفة. يعمل تجمع SQL المخصص في Azure Synapse، كما ذكر سابقًا ووفقًا لنفس الأهمية، على تحسين معدل النقل. عند وضع طلبات الحجم المختلط (مثل smallrc أو mediumrc) في قائمة الانتظار، سيحدد تجمع SQL المخصص أقرب طلب وصول يتناسب مع الموارد المتوفرة. إذا تم تطبيق أهمية حمل العمل، فسيتم جدولة الطلب الأعلى أهمية بعد ذلك.
يُرجى مراعاة المثال التالي على DW500c:
- يعمل Q1 وQ2 وQ3 وQ4 على تشغيل استعلامات smallrc.
- يتم إرسال Q5 مع فئة الموارد mediumrc في الساعة 9 صباحًا.
- يتم إرسال Q6 مع فئة مورد smallrc في الساعة 9:01 صباحًا.
نظرًا لأن Q5 هو mediumrc، فيتطلب فتحتين للتزامن. يحتاج Q5 إلى انتظار اكتمال استعلامين قيد التشغيل. إلا أنه عند اكتمال أحد الاستعلامات قيد التشغيل (Q1-Q4)، تتم جدولة Q6 على الفور لأن الموارد موجودة لتنفيذ الاستعلام. إذا كان Q5 ذي أهمية أعلى من Q6، فينتظر Q6 حتى يتم تشغيل Q5 قبل أن يبدأ التنفيذ.
الخطوات التالية
- لمزيد من المعلومات حول إنشاء مصنف، راجع CREATE WORKLOAD CLASSIFIER (Transact-SQL).
- لمزيد من المعلومات حول تصنيف حمل العمل، راجع «تصنيف حمل العمل».
- راجع التشغيل السريع بشأن إنشاء مصنف حمل العمل للتعرف على كيفية إنشاء مصنف حمل العمل.
- يُرجى الاطلاع على مقالات كيفية تكوين أهمية حمل العمل وكيفية إدارة ومراقبة إدارة حمل العمل.
- راجع sys.dm_pdw_exec_requests لعرض الاستعلامات والأهمية المُحددة.