تحسين المتلقين

عندما تكتب تدفقات البيانات إلى المتلقيات، يحدث أي تقسيم مخصص مباشرة قبل الكتابة. مثل المصدر، في معظم الحالات، يوصى بالاحتفاظ باستخدام التقسيم الحالي كخيار القسم المحدد. تكتب البيانات المقسمة بشكل أسرع بكثير من البيانات غير المقسمة، حتى الوجهة غير مقسمة. فيما يلي الاعتبارات الفردية لمختلف أنواع المتلقي.

قاعدة بيانات المتلقيات Azure SQL

مع قاعدة بيانات azure SQL، يتعين أن يعمل التقسيم الافتراضي في أغلب الحالات. هناك فرصة أن المتلقي الخاص بك قد يحتوي على عدد كبير جدا من الأقسام لقاعدة بيانات SQL الخاصة بك للتعامل معها. إذا كنت قيد التشغيل في هذا، فقم بتقليل عدد الأقسام الناتجة عن متلقي قاعدة بيانات SQL.

أفضل الممارسات لحذف السجل في متلقٍ استنادًا إلى أسطر غير منفذة في المصدر

فيما يلي فيديو يوضح كيفية استخدام تدفقات البيانات مع تحويلات موجودة وتغيير الصف والمتلقي لتحقيق هذا النمط الشائع:

تأثير معالجة سجل الخطأ على الأداء

عند تمكين معالجة صف الخطأ ("متابعة عند الخطأ") في تحويل المتلقي، تأخذ الخدمة خطوة إضافية قبل كتابة الصفوف المتوافقة إلى جدول الوجهة. تحتوي هذه الخطوة الإضافية على عقوبة أداء صغيرة يمكن أن تكون في نطاق 5٪ المضافة لهذه الخطوة مع إضافة أداء صغير إضافي أيضا إذا قمت بتعيين الخيار لكتابة الصفوف غير المتوافقة أيضا إلى ملف سجل.

تعطيل الفهارس باستعمال برنامج نصي SQL

تعطيل الفهارس قبل التحميل في قاعدة بيانات SQL يمكن أن يحسن من أداء الكتابة إلى الجدول بطريقة بارزة. تشغيل الأمر أدناه قبل الكتابة إلى متلقي SQL الخاص بك.

ALTER INDEX ALL ON dbo.[Table Name] DISABLE

بعد اكتمال الكتابة، إعادة بناء الفهارس باستخدام الأمر التالي:

ALTER INDEX ALL ON dbo.[Table Name] REBUILD

يمكن إجراء كل منهما محليا باستخدام البرامج النصية Pre وPost-SQL داخل قاعدة بيانات Azure SQL أو متلقي Synapse في تعيين تدفقات البيانات.

Disable indexes

تحذير

عند تعطيل الفهارس، يتحكم تدفق البيانات بشكل فعال في قاعدة البيانات والاستعلامات، قد يلغي الإعجاب أن تنجح في هذا الوقت. ونتيجة لذلك، يتم تشغيل العديد من مهام ETL في منتصف الليل لتجنب هذا الصراع. لمزيد من التفاصيل، تعرف على قيود تعطيل فهارس SQL

زيادة قاعدة البيانات الخاصة بك

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

تحليلات المتلقيات Azure Synapse

عند الكتابة إلى تحليلات Azure Synapse، تأكد من تعيين تمكين التدريج الصحيح. وهذا يمكن الخدمة من الكتابة باستخدام أمر SQL COPY، الذي يقوم بتحميل البيانات بشكل فعال بشكل مجمع. ستحتاج إلى الرجوع إلى حساب Azure Data Lake Storage gen2 أو Azure Blob Storage لتقسيم البيانات مرحلي عند استخدام التقسيم المرحلي.

بخلاف التقسيم المرحلي، تنطبق أفضل الممارسات نفسها على تحليلات Azure Synapse مثل قاعدة بيانات Azure SQL.

المتلقيات المستندة إلى الملفات

بينما تدعم تدفقات البيانات أنواع ملفات مختلفة، يوصى بتنسيق Spark-native Parquet لأوقات القراءة والكتابة المثلى.

إذا تم توزيع البيانات بالتساوي، فإن استخدام التقسيم الحالي هو أسرع خيار تقسيم لكتابة الملفات.

خيار اسم الخاص بالملف

عند كتابة الملفات، لديك خيار خيارات التسمية التي يكون لكل منها تأثير على الأداء.

Sink options

يؤدي تحديد الخيار Default إلى كتابة الأسرع. كل قسم يساوي ملفا باسم Spark الافتراضي. هذا مفيد إذا كنت تقرأ فقط من مجلد البيانات.

يؤدي تعيين نمط تسمية إلى إعادة تسمية كل ملف قسم باسم أكثر سهولة للمستخدم. تحدث هذه العملية بعد الكتابة وهي أبطأ قليلاً من الاختيار بشكل افتراضي.

كل قسم يسمح لك بتسمية كل قسم على حدة بشكل يدوي.

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

إذا كان العمود يتوافق مع الطريقة التي ترغب في إنشاء أسماء مجلدات بها، فحدد مجلد الاسم كبيانات عمود.

عملية الإخراج إلى ملف واحد يجمع بين كافة البيانات في قسم واحد. عميل هام للمبيعات هذا إلى فترات كتابة طويلة، خاصة بالنسبة إلى مجموعات البيانات الكبيرة. لا ينصح بهذا الخيار ما لم يكن هناك سبب تجاري صريح لاستخدامه.

متلقيات Azure Cosmos DB

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

حجم الدفعة:عادةً ما يكون البدء بحجم الدُفعة الافتراضي كافيًا. لمزيد من ضبط هذه القيمة، حساب حجم عنصر SQL Server الخام من البيانات الخاصة بك، وتأكد من أن حجم عنصر SQL Server * حجم الدفعة أقل من 2MB. إذا كان كذلك، يمكنك زيادة حجم الدفعة للحصول على معدل نقل أفضل.

معدل النقل: تعيين إعداد معدل النقل أعلى هنا للسماح للمستندات للكتابة بشكل أسرع إلى Azure Cosmos DB. ضع في اعتبارك ارتفاع تكاليف RU استنادًا إلى إعداد معدل النقل العالية.

موازنة معدل النقل للكتابة: استخدم قيمة أصغر من إجمالي وحدات الطلب في الدقيقة. إذا كان لديك تدفق بيانات مع عدد كبير من أقسام Spark، فإن تعيين معدل نقل الموازنة يسمح بمزيد من التوازن عبر هذه الأقسام.

راجع مقالات تدفق البيانات الأخرى المتعلقة بالأداء: