نسخ أداء النشاط ودليل الضبط

ملاحظة

يطبق هذا البند على الإصدار 1 من Data Factory. إذا كنت تستخدم الإصدار الحالي من خدمة مصنع البيانات، راجع نسخ أداء النشاط ودليل الضبط لمصنع البيانات.

يوفر Azure Data Factory Copy Activity حل تحميل بيانات آمن وموثوق وعالي الأداء من الدرجة الأولى. فهو يتيح لك نسخ عشرات تيرابايت من البيانات يومياً عبر مجموعة متنوعة غنية من مخازن البيانات السحابية والمحلية. يعد أداء تحميل البيانات بسرعة فائقة أمراً أساسياً لضمان إمكانية التركيز على مشكلة "البيانات الضخمة" الأساسية: إنشاء حلول تحليلية متقدمة والحصول على رؤى عميقة من جميع تلك البيانات.

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

توضح هذه المقالة ما يلي:

ملاحظة

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

مرجع الأداء

كمرجع، يوضح الجدول أدناه رقم سرعة نقل النسخ بالميغابايت في الثانية لأزواج المصدر والمتلقى المحدد بناءً على الاختبار الداخلي. للمقارنة، فإنها توضح أيضاً كيف يمكن أن تساعد الإعدادات المختلفة لوحدات حركة البيانات السحابية أو قابلية توسعة بوابة إدارة البيانات (عُقد بوابة متعددة) في أداء النسخ.

Performance matrix

هام

في الإصدار 1 من Azure Data Factory، الحد الأدنى لوحدات حركة البيانات السحابية للنسخ من السحابة إلى السحابة هو وحدتان. إذا لم يتم تحديدها، راجع وحدات حركة البيانات الافتراضية المستخدمة في وحدات حركة البيانات السحابية.

النقاط التي يجب ملاحظتها:

  • يتم حساب الإنتاجية باستخدام الصيغة التالية: [حجم البيانات المقروءة من المصدر]/[نسخ مدة تشغيل النشاط].
  • تم قياس أرقام مرجع الأداء في الجدول باستخدام مجموعة بيانات TPC-H في تشغيل نشاط نسخة واحدة.
  • في مخازن بيانات Azure المصدر والمتلقى في نفس منطقة Azure.
  • بالنسبة للنسخ المختلط بين مخازن البيانات المحلية والسحابة، كانت كل عقدة بوابة تعمل على جهاز منفصل عن مخزن البيانات المحلي بالمواصفات أدناه. عند تشغيل نشاط واحد على البوابة، تستهلك عملية النسخ جزءاً صغيراً فقط من وحدة المعالجة المركزية (CPU) أو الذاكرة أو عرض النطاق الترددي للشبكة. تعرف على المزيد من الاعتبارات الخاصة ببوابة إدارة البيانات.
    معالج 32 نواة 2.20 جيجاهرتز Intel Xeon E5-2660 v2.0
    ذاكرة 128 جيجابايت
    الشبكة واجهة الإنترنت: 10 جيجابت في الثانية؛ واجهة الإنترانت: 40 جيجابت في الثانية

تلميح

يمكنك تحقيق معدل نقل أعلى من خلال الاستفادة من المزيد من وحدات نقل البيانات (DMUs) من الحد الأقصى الافتراضي لوحدات DMU، وهو 32 لتشغيل نشاط النسخ من السحابة إلى السحابة. على سبيل المثال، مع 100 وحدة DMU، يمكنك تحقيق نسخ البيانات من Azure Blob إلى Azure Data Lake Store بسرعة 1.0 غيغابايت في الثانية. راجع قسم وحدات حركة البيانات السحابية للحصول على تفاصيل حول هذه الميزة والسيناريو المدعوم. اتصل بدعم Azure لطلب المزيد من وحدات DMUs.

نسخة متوازية

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

يختلف هذا الإعداد عن خاصية التزامن في تعريف النشاط. تحدد خاصية التزامن عدد عمليات تشغيل نشاط النسخ المتزامنة لمعالجة البيانات من نوافذ نشاط مختلفة (1 صباحاً إلى 2 صباحاً، 2 صباحاً إلى 3 صباحاً، 3 صباحاً إلى 4 صباحاً، و هكذا). هذه الإمكانية مفيدة عند تنفيذ تحميل تاريخي. تنطبق إمكانية النسخ المتوازي على تشغيل نشاط واحد.

دعونا ننظر إلى سيناريو مثال شائع. في المثال التالي، تحتاج شرائح متعددة من الماضي إلى المعالجة. يقوم Data Factory بتشغيل مثيل لـ Copy Activity (تشغيل نشاط) لكل شريحة:

  • شريحة البيانات من نافذة النشاط الأولى (من الساعة 1 صباحا إلى الساعة 2 صباحا) ==> تشغيل النشاط 1
  • شريحة البيانات من نافذة النشاط الثانية (2 صباحا إلى 3 صباحا) ==> تشغيل النشاط 2
  • شريحة البيانات من نافذة النشاط الثانية (من الساعة 3 صباحا إلى الساعة 4 صباحا) ==> تشغيل النشاط 3

وما إلى ذلك وهلمَّ جرًّا.

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

وحدات حركة البيانات السحابية

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

الحد الأدنى من وحدات حركة البيانات السحابية لتمكين تشغيل نشاط النسخ هو وحدتان. إذا لم يتم تحديد، يسرد الجدول التالي وحدات DMU الافتراضية المستخدمة في سيناريوهات النسخ المختلفة:

سيناريو النسخ وحدات DIUs الافتراضية التي تحددها الخدمة
نسخ البيانات بين المخازن القائمة على الملفات بين 4 و 16 حسب عدد الملفات وحجمها.
كافة سيناريوهات النسخ الأخرى 4

لتجاوز هذا الافتراضي، حدد قيمة الخاصية cloudDataMovementUnits كما يلي. القيم المسموح بها للخاصية cloudDataMovementUnits هي 2 و 4 و 8 و 16 و 32. العدد الفعلي لوحدات DIU التي تستخدمها عملية النسخ في وقت التشغيل يساوي أو أقل من القيمة المكونة، اعتماداً على نمط البيانات لديك. للحصول على معلومات حول مستوى مكاسب الأداء الذي قد تحصل عليه عند تكوين المزيد من الوحدات لمصدر نسخة معينة ومخزون معين، راجع مرجع الأداء.

"activities":[
    {
        "name": "Sample copy activity",
        "description": "",
        "type": "Copy",
        "inputs": [{ "name": "InputDataset" }],
        "outputs": [{ "name": "OutputDataset" }],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "cloudDataMovementUnits": 32
        }
    }
]

ملاحظة

إذا كنت بحاجة إلى المزيد من وحدات DMUs السحابية للحصول على سرعة نقل أعلى، فاتصل بدعم Azure. يعمل الإعداد 8 وما فوق حالياً فقط عند نسخ ملفات متعددة من تخزين Blob / Data Lake Store / Amazon S3 / cloud FTP / cloud SFTP إلى تخزين Blob / Data Lake Store / قاعدة بيانات Azure SQL.

نسخ متوازية

يمكنك استخدام خاصية النسخ المتوازية للإشارة إلى التوازي الذي تريد نسخ النشاط لاستخدامه. يمكنك اعتبار هذه الخاصية على أنها الحد الأقصى لعدد سلاسل الرسائل ضمن نشاط النسخ التي يمكن قراءتها من مصدرك أو الكتابة إلى مخازن بيانات المتلقي بالتوازي.

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

المصدر والمصارف عدد النسخ المتوازي الافتراضي الذي تحدده الخدمة
نسخ البيانات بين المخازن المستندة إلى الملفات (تخزين Blob ؛ Data Lake Store ؛ Amazon S3 ؛ نظام ملفات محلي ؛ HDFS محلي) بين 1 و 32 يعتمد على حجم الملفات وعدد وحدات نقل البيانات السحابية (DMUs) المستخدمة لنسخ البيانات بين اثنين من مخازن البيانات السحابية، أو التكوين المادي لجهاز البوابة المستخدم لنسخة مختلطة (لنسخ البيانات من وإلى -موقع تخزين البيانات).
نسخ البيانات من أي مخزن بيانات مصدر إلى تخزين جدول Azure 4
جميع أزواج المصادر والمتلقي الأخرى 1

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

"activities":[
    {
        "name": "Sample copy activity",
        "description": "",
        "type": "Copy",
        "inputs": [{ "name": "InputDataset" }],
        "outputs": [{ "name": "OutputDataset" }],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "parallelCopies": 8
        }
    }
]

النقاط التي يجب ملاحظتها:

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

ملاحظة

يجب استخدام إصدار 1.11 من بوابة إدارة البيانات أو إصدار أحدث لاستخدام ميزة النسخ المتوازية عند القيام بنسخة مختلطة.

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

تأثير الفوترة

من المهم أن تتذكر أنه يتم محاسبتك استناداً إلى الوقت الإجمالي لعملية النسخ. إذا كانت مهمة النسخ تستغرق ساعة واحدة مع وحدة سحابة واحدة، والآن يستغرق الأمر 15 دقيقة مع أربع وحدات سحابية، فإن الفاتورة الإجمالية تظل كما هي تقريباً. على سبيل المثال، يمكنك استخدام أربع وحدات سحابية. تستغرق وحدة السحابة الأولى 10 دقائق، والثانية 10 دقائق، والثالثة 5 دقائق، والرابعة 5 دقائق، وكل ذلك في تشغيل نشاط نسخ واحد. يتم محاسبتك على إجمالي وقت النسخ (حركة البيانات)، وهو 10 + 10 + 5 + 5 = 30 دقيقة. لا يؤثر استخدام النسخ المتوازية على الفوترة.

نسخة مرحلية

عند نسخ البيانات من مخزن بيانات المصدر إلى مخزن بيانات التخزين، قد تختار استخدام تخزين Blob كمخزن مرحلي مؤقت. التدريج مفيد بشكل خاص في الحالات التالية:

  1. تريد جلب البيانات من مخازن البيانات المختلفة إلى Azure Synapse Analytics عبر PolyBase. يستخدم Azure Synapse Analytics PolyBase كآلية عالية الإنتاجية لتحميل كمية كبيرة من البيانات في Azure Synapse Analytics. ومع ذلك، يجب أن تكون البيانات المصدر في تخزين Blob ويجب أن تفي بمعايير إضافية. عندما تقوم بتحميل بيانات من مخزن بيانات بخلاف تخزين Blob، يمكنك تنشيط نسخ البيانات عبر تخزين Blob المرحلي المؤقت. في هذه الحالة، يقوم Data Factory بإجراء تحويلات البيانات المطلوبة للتأكد من أنها تلبي متطلبات PolyBase. ثم يستخدم PolyBase لتحميل البيانات في Azure Synapse Analytics. لمزيد من التفاصيل، راجع استخدام PolyBase لتحميل البيانات في Azure Synapse Analytics . للحصول على معاينة باستخدام حالة استخدام، راجع تحميل 1 تيرابايت في تحليلات Azure Synapse في أقل من 15 دقيقة باستخدام Azure Data Factory.
  2. أحيانًا يستغرق إجراء نقل البيانات المختلط بعض الوقت (أي، للنسخ بين مخزن بيانات محلي ومخزن بيانات في السحاب) عبر اتصال شبكة بطيء. لتحسين الأداء، يمكنك ضغط البيانات المحلية بحيث تستغرق وقتًا أقل لنقل البيانات إلى مخزن البيانات المرحلي في السحابة. ثم يمكنك فك ضغط البيانات في المخزن المرحلي قبل تحميلها في مخزن البيانات الوجهة.
  3. لا تريد فتح منافذ أخرى بخلاف المنفذ 80 والمنفذ 443 في جدار الحماية لديك، بسبب سياسات تكنولوجيا المعلومات الخاصة بالشركة. على سبيل المثال، عند نسخ البيانات من مخزن بيانات محلي إلى مصدر قاعدة بيانات Azure SQL أو متلقي Azure Synapse Analytics، فإنك تحتاج إلى تنشيط اتصال TCP الصادر على المنفذ 1433 لكل من جدار حماية Windows وجدار حماية شركتك. في هذا السيناريو، استفد من البوابة لنسخ البيانات أولاً إلى مثيل تخزين Blob المرحلي عبر HTTP أو HTTPS على المنفذ 443. بعد ذلك، قم بتحميل البيانات في قاعدة بيانات SQL أو Azure Synapse Analytics من تخزين Blob المرحلي. في هذا التدفق، لا تحتاج إلى تمكين المنفذ 1433.

كيف يعمل النسخ المرحلي

عند تنشيط ميزة التجهيز، يتم أولاً نسخ البيانات من مخزن البيانات المصدر إلى مخزن البيانات المرحلي (إحضار البيانات الخاصة بك). بعد ذلك، يتم نسخ البيانات من مخزن البيانات المرحلي إلى مخزن البيانات المخزن. يقوم Data Factory تلقائياً بإدارة التدفق على مرحلتين نيابة عنك. يقوم Data Factory أيضاً بتنظيف البيانات المؤقتة من التخزين المرحلي بعد اكتمال نقل البيانات.

في سيناريو النسخ السحابية (توجد مخازن بيانات المصدر والمخزن في السحابة)، لا يتم استخدام البوابة. تنفذ خدمة Data Factory عمليات النسخ.

Staged copy: Cloud scenario

في سيناريو النسخ المختلط (المصدر محلي والمتلقي في السحابة)، تنقل البوابة البيانات من مخزن البيانات المصدر إلى مخزن بيانات مرحلي. تنقل خدمة Data Factory البيانات من مخزن البيانات المرحلي إلى مخزن البيانات المخزن. كما يتم دعم نسخ البيانات من مخزن بيانات مجموعة النظراء إلى مخزن بيانات محلي عبر التدريج مع التدفق المعكوس.

Staged copy: Hybrid scenario

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

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

التكوين

قم بتكوين إعداد enableStaging في نسخ النشاط لتحديد ما إذا كنت تريد تنظيم البيانات في تخزين Blob قبل تحميلها في مخزن بيانات الوجهة. عند تعيين enableStaging على TRUE، حدد الخصائص الإضافية المدرجة في الجدول التالي. إذا لم يكن لديك واحد، فستحتاج أيضاً إلى إنشاء تخزين Azure أو خدمة الوصول المشترك المرتبطة بالتوقيع للتخزين المرحلي.

الخاصية الوصف القيمة الافتراضية مطلوب
enableStaging حدد ما إذا كنت تريد نسخ البيانات عبر مخزن مرحلي مؤقت. خطأ لا
linkedServiceName حدد اسم خدمة مرتبطة تخزين Azure أو AzureStorageSas ، والتي تشير إلى مثيل التخزين الذي تستخدمه كمخزن مرحلي مؤقت.

لا يمكنك استخدام التخزين بتوقيع وصول مشترك لتحميل البيانات في Azure Synapse Analytics عبر PolyBase. يمكنك استخدامه في كافة السيناريوهات الأخرى.
غير متوفر نعم، عند ضبط enableStaging إلى TRUE
مسار حدد مسار تخزين Blob الذي تريده أن يحتوي على البيانات المرحلية. إذا لم تقم بتوفير مسار، تقوم الخدمة بإنشاء حاوية لتخزين البيانات المؤقتة.

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

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

"activities":[
{
    "name": "Sample copy activity",
    "type": "Copy",
    "inputs": [{ "name": "OnpremisesSQLServerInput" }],
    "outputs": [{ "name": "AzureSQLDBOutput" }],
    "typeProperties": {
        "source": {
            "type": "SqlSource",
        },
        "sink": {
            "type": "SqlSink"
        },
        "enableStaging": true,
        "stagingSettings": {
            "linkedServiceName": "MyStagingBlob",
            "path": "stagingcontainer/path",
            "enableCompression": true
        }
    }
}
]

تأثير الفوترة

تتم محاسبتك بناءً على خطوتين: مدة النسخ ونوع النسخ.

  • عند استخدام التدريج أثناء نسخة سحابية (نسخ البيانات من مخزن بيانات سحابي إلى مخزن بيانات سحابي آخر)، يتم تحصيل مبلغ [مجموع مدة النسخ للخطوة 1 والخطوة 2] x [سعر وحدة النسخ السحابي].
  • عند استخدام التدريج أثناء النسخة المختلطة (نسخ البيانات من مخزن بيانات محلي إلى مخزن بيانات سحابي)، يتم تحصيل رسوم منك مقابل [مدة النسخة المختلطة] x [سعر وحدة النسخ المختلط] + [مدة النسخ السحابي] x [سعر وحدة النسخ السحابي].

خطوات ضبط الأداء

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

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

    اجمع خصائص وقت التنفيذ والأداء باستخدام تطبيق المراقبة والإدارة. اختر إدارة الشاشة & على الصفحة الرئيسية لمصنع البيانات. في طريقة العرض الشجرية، اختر مجموعة بيانات الإخراج. في القائمة نشاط Windows، اختر تشغيل نسخ النشاط. يسرد نشاط Windows مدة نشاط النسخ وحجم البيانات التي تم نسخها. يتم سرد معدل النقل في مستكشف نافذة النشاط. لمعرفة المزيد حول التطبيق، راجع مراقبة خطوط البنية الأساسية Azure Data Factory وإدارتها باستخدام تطبيق المراقبة والإدارة.

    Activity run details

    فيما يلي في المقالة، يمكنك مقارنة أداء وتهيئة السيناريو الخاص بك بـ مرجع أداء نشاط النسخ من اختباراتنا.

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

  3. قم بتوسيع التكوين إلى مجموعة البيانات بأكملها. عندما تكون راضياً عن نتائج التنفيذ والأداء، يمكنك توسيع التعريف والمسارات لتغطية مجموعة البيانات بأكملها الخاصة بك.

اعتبارات بوابة إدارة البيانات

إعداد البوابة: نوصي باستخدام جهاز مخصص لاستضافة بوابة إدارة البيانات. راجع اعتبارات استخدام بوابة إدارة البيانات.

مراقبة البوابة وتوسيع نطاقها/إخراجها: يمكن لبوابة منطقية واحدة تحتوي على عقدة عبارة واحدة أو أكثر أن تخدم عدة عمليات نشاط النسخ في نفس الوقت بشكل متزامن. يمكنك عرض لقطة في الوقت الفعلي تقريبا لاستخدام الموارد (وحدة المعالجة المركزية ، الذاكرة ، الشبكة (داخل / خارج) ، إلخ.) على جهاز بوابة بالإضافة إلى عدد المهام المتزامنة قيد التشغيل مقابل الحد في مدخل Azure، راجع مراقبة البوابة الإلكترونية في البوابة الإلكترونية. إذا كان لديك حاجة شديدة على حركة البيانات المختلطة إما مع عدد كبير من عمليات تشغيل نشاط النسخ المتزامن أو مع حجم كبير من البيانات المراد نسخها، ففكر في توسيع نطاق البوابة أو توسيع نطاقها بحيث تستخدم مواردك بشكل أفضل أو لتوفير المزيد من الموارد لتمكين النسخ.

اعتبارات المصدر

عام

تأكد من أن مخزن البيانات الأساسي ليس مثقلاً بأحمال العمل الأخرى التي تعمل عليه أو ضده.

بالنسبة إلى مخازن بيانات Microsoft، راجع موضوعات المراقبة والضبط الخاصة بمخازن البيانات، وتساعدك على فهم خصائص أداء مخزن البيانات وتقليل أوقات الاستجابة وزيادة الإنتاجية.

إذا نسخت البيانات من تخزين Blob إلى Azure Synapse Analytics، فجرّب استخدام PolyBase لتعزيز الأداء. راجع استخدام PolyBase لتحميل البيانات في Azure Synapse Analytics للحصول على التفاصيل. للحصول على معاينة باستخدام حالة استخدام، راجع تحميل 1 تيرابايت في تحليلات Azure Synapse في أقل من 15 دقيقة باستخدام Azure Data Factory.

مخازن البيانات المستندة إلى الملفات

(بما في ذلك تخزين Blob و Data Lake Store و Amazon S3 وأنظمة الملفات المحلية و HDFS المحلي)

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

مخازن البيانات الارتباطية

(بما في ذلك قاعدة بيانات SQL و Azure Synapse Analytics و Amazon Redshift وقواعد بيانات SQL Server وقواعد بيانات Oracle و MySQL و DB2 و Teradata و Sybase و PostgreSQL وما إلى ذلك)

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

اعتبارات للمتلقي

عام

تأكد من أن مخزن البيانات الأساسي ليس مثقلاً بأحمال العمل الأخرى التي تعمل عليه أو ضده.

بالنسبة لمخازن بيانات Microsoft، راجع موضوعات المراقبة والضبط الخاصة بمخازن البيانات. يمكن أن تساعدك هذه الموضوعات في فهم خصائص أداء مخزن البيانات وكيفية تقليل أوقات الاستجابة وزيادة الإنتاجية.

إذا كنت تنسخ البيانات من تخزين Blob إلى Azure Synapse Analytics، ففكر في استخدام PolyBase لتعزيز الأداء. راجع استخدام PolyBase لتحميل البيانات في Azure Synapse Analytics للحصول على التفاصيل. للحصول على معاينة باستخدام حالة استخدام، راجع تحميل 1 تيرابايت في تحليلات Azure Synapse في أقل من 15 دقيقة باستخدام Azure Data Factory.

مخازن البيانات المستندة إلى الملفات

(بما في ذلك تخزين Blob و Data Lake Store و Amazon S3 وأنظمة الملفات المحلية و HDFS المحلي)

  • سلوك النسخ: إذا قمت بنسخ البيانات من مخزن بيانات مختلف قائم على ملف، فإن لدى Copy Activity ثلاثة خيارات عبر خاصية copyBehavior. إنه يحافظ على التسلسل الهرمي أو ينسق التسلسل الهرمي أو يدمج الملفات. إما أن يكون للاحتفاظ بالتسلسل الهرمي أو تسويته حملاً ضئيلاً في الأداء أو لا يحتوي على أي حمل، ولكن دمج الملفات يؤدي إلى زيادة حمل الأداء.
  • تنسيق الملف وضغطه: راجع قسمي اعتبارات التسلسل وإلغاء التسلسل و اعتبارات الضغط لمزيد من الطرق لتحسين الأداء.
  • تخزين Blob: في الوقت الحالي، يدعم تخزين Blob كتل البيانات الكبيرة فقط من أجل نقل البيانات المحسّن والإنتاجية.
  • بالنسبة إلى سيناريوهات أنظمة الملفات المحلية التي تتطلب استخدام بوابة إدارة البيانات، راجع قسم اعتبارات خاصة ببوابة إدارة البيانات .

مخازن البيانات الارتباطية

(بما في ذلك قاعدة بيانات SQL و Azure Synapse Analytics وقواعد بيانات SQL Server وقواعد بيانات Oracle)

  • سلوك النسخ: اعتماداً على الخصائص التي قمت بتعيينها لـ sqlSink، يكتب نشاط النسخ البيانات إلى قاعدة البيانات الوجهة بطرق مختلفة.
    • بشكل افتراضي، تستخدم خدمة نقل البيانات API النسخة المجمعة لإدراج البيانات في وضع الإلحاق، والذي يوفر أفضل أداء.
    • إذا قمت بتكوين إجراء مخزن في المتلقي، فإن قاعدة البيانات تطبق البيانات صفاً واحداً في كل مرة بدلاً من تحميل مجمع. ينخفض الأداء بشكل ملحوظ. إذا كانت مجموعة البيانات كبيرة، عند الاقتضاء، يجب التبديل إلى استخدام الخاصية sqlWriterCleanupScript.
    • إذا قمت بتكوين خاصية sqlWriterCleanupScript لكل نشاط نسخ يتم تشغيله، تقوم الخدمة بتشغيل البرنامج النصي، ثم تستخدم واجهة برمجة التطبيقات للنسخ بالجملة لإدراج البيانات. على سبيل المثال، للكتابة فوق الجدول بأكمله بأحدث البيانات، حدد برنامجاً نصياً لحذف جميع السجلات أولاً قبل تحميل البيانات الجديدة من المصدر بشكل مجمع.
  • نمط البيانات وحجم المجموعة:
    • يؤثر مخطط الجدول على سرعة نقل النسخ. لنسخ نفس الكمية من البيانات، يمنحك حجم الصف الكبير أداءً أفضل من حجم الصف الصغير لأن قاعدة البيانات يمكنها بشكل أكثر كفاءة الالتزام بدُفعات أقل من البيانات.
    • يقوم نشاط النسخ بإدراج البيانات في سلسلة من المجموعات. يمكنك تعيين عدد الصفوف في دفعة باستخدام خاصية writeBatchSize. إذا كانت بياناتك تحتوي على صفوف صغيرة، فيمكنك تعيين خاصية writeBatchSize بقيمة أعلى للاستفادة من انخفاض حمل الدُفعة وزيادة الإنتاجية. إذا كان حجم صف البيانات كبيراً، فكن حريصاً عند زيادة writeBatchSize. قد تؤدي القيمة العالية إلى فشل النسخ بسبب التحميل الزائد لقاعدة البيانات.
  • بالنسبة إلى قواعد البيانات الارتباطية المحلية، مثل SQL Server و Oracle، والتي تتطلب استخدام بوابة إدارة البيانات، راجع قسم اعتبارات بوابة إدارة البيانات.

مخازن NoSQL

(بما في ذلك تخزين الجدول و Azure Cosmos DB)

  • بالنسبة إلى تخزين الجدول:
    • قسم: تؤدي كتابة البيانات إلى أقسام متداخلة إلى تدهور الأداء بشكل كبير. قم بفرز بيانات المصدر حسب مفتاح القسم بحيث يتم إدراج البيانات بكفاءة في قسم واحد تلو الآخر، أو اضبط المنطق لكتابة البيانات إلى قسم واحد.
  • بالنسبة إلى Azure Cosmos DB:
    • حجم الدُفعة: تحدد الخاصية writeBatchSize عدد الطلبات المتوازية لخدمة Azure Cosmos DB لإنشاء المستندات. يمكنك توقع أداء أفضل عند زيادة writeBatchSize لأنه يتم إرسال المزيد من الطلبات المتوازية إلى Azure Cosmos DB. ومع ذلك، راقب الاختناق عند الكتابة إلى Azure Cosmos DB (رسالة الخطأ هي "معدل الطلب كبير"). يمكن أن تتسبب عوامل مختلفة في الاختناق، بما في ذلك حجم المستند وعدد المصطلحات في المستندات وسياسة فهرسة المجموعة المستهدفة. لتحقيق معدل نقل أعلى للنسخ، ضع في اعتبارك استخدام مجموعة أفضل، على سبيل المثال، S3.

اعتبارات التسلسل وإزالة التسلسل

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

سلوك النسخ:

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

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

اعتبارات الضغط

عندما تكون مجموعة بيانات الإدخال أو الإخراج عبارة عن ملف، يمكنك تعيين نشاط النسخ لإجراء الضغط أو إلغاء الضغط أثناء قيامه بكتابة البيانات إلى الوجهة. عندما تختار الضغط، فإنك تقوم بإجراء مقايضة بين الإدخال / الإخراج (I / O) ووحدة المعالجة المركزية. ضغط تكاليف البيانات الإضافية في حساب الموارد. ولكن في المقابل، فإنه يقلل من إدخال/إخراج الشبكة والتخزين. اعتماداً على بياناتك، قد ترى زيادة في سرعة معدل النقل الإجمالية.

برنامج الترميز: يدعم نسخ النشاط أنواع ضغط gzip و bzip2 و Deflate. يمكن أن تستهلك Azure HDInsight جميع الأنواع الثلاثة للمعالجة. كل برنامج ترميز ضغط له مزايا. على سبيل المثال، يحتوي bzip2 على أقل معدل نقل للنسخ، ولكنك تحصل على أفضل أداء لاستعلام Hive باستخدام bzip2 لأنه يمكنك تقسيمه للمعالجة. Gzip هو الخيار الأكثر توازناً، ويستخدم في معظم الأحيان. اختر برنامج الترميز الذي يناسب السيناريو بأكمله.

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

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

اعتبارات تعيين العمود

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

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

اعتبارات أخرى

إذا كان حجم البيانات التي تريد نسخها كبيراً، فيمكنك ضبط منطق عملك لتقسيم البيانات بشكل أكبر باستخدام آلية التشريح في Data Factory. بعد ذلك، قم بجدولة نسخ النشاط للتشغيل بشكل متكرر لتقليل حجم البيانات لكل عملية نسخ نشاط.

كن حذراً بشأن عدد مجموعات البيانات ونسخ الأنشطة التي تتطلب Data Factory لتوصيلها إلى نفس مخزن البيانات في نفس الوقت. قد تؤدي العديد من مهام النسخ المتزامنة إلى اختناق مخزن البيانات وتؤدي إلى تدهور الأداء، ونسخ المحاولات الداخلية للوظيفة، وفي بعض الحالات، فشل التنفيذ.

سيناريو نموذج: نسخ من قاعدة بيانات SQL Server لتخزين Blob

السيناريو: تم إنشاء مسار لنسخ البيانات من قاعدة بيانات SQL Server إلى تخزين Blob بتنسيق CSV. لجعل مهمة النسخ أسرع، يجب ضغط ملفات CSV بتنسيق bzip2.

الاختبار والتحليل: معدل نقل نشاط النسخ أقل من 2 ميجابت في الثانية، وهو أبطأ بكثير من معيار الأداء.

تحليل الأداء وضبطه: لاستكشاف مشكلة الأداء وإصلاحها، دعنا نلقي نظرة على كيفية معالجة البيانات ونقلها.

  1. قراءة البيانات: تفتح البوابة اتصالاً بخادم SQL Server وترسل الاستعلام. يستجيب SQL Server عن طريق إرسال دفق البيانات إلى البوابة عبر الإنترنت.
  2. ترتيب البيانات وضغطها: تسلسل البوابة دفق البيانات إلى تنسيق CSV، وتضغط البيانات على دفق bzip2.
  3. كتابة البيانات: تقوم البوابة بتحميل دفق bzip2 إلى تخزين Blob عبر الإنترنت.

كما ترون ، تتم معالجة البيانات ونقلها بطريقة تسلسلية للتدفق: SQL Server > تخزين LAN Gateway > WAN >> Blob. يتم تحديد الأداء العام من خلال الحد الأدنى من الإنتاجية عبر خط الأنابيب.

Data flow

قد يتسبب عامل أو أكثر من العوامل التالية في اختناق الأداء:

  • المصدر: SQL Server نفسه لديه إنتاجية منخفضة بسبب الأحمال الثقيلة.
  • بوابة إدارة البيانات:
    • شبكة LAN: تقع البوابة بعيداً عن كمبيوتر SQL Server ولديها اتصال ذو نطاق ترددي منخفض.
    • البوابة: وصلت البوابة إلى حدود التحميل الخاصة بها لإجراء العمليات التالية:
      • التسلسل: ينتج عن تسلسل دفق البيانات إلى تنسيق CSV سرعة نقل بطيئة.
      • الضغط: لقد اخترت برنامج ترميز ضغط بطيء (على سبيل المثال، bzip2، وهو 2.8 ميجا بايت في الثانية مع Core i7).
    • WAN: النطاق الترددي بين شبكة الشركة وخدمات Azure منخفض (على سبيل المثال، T1 = 1544 كيلو بت في الثانية ؛ T2 = 6312 كيلو بت في الثانية).
  • المتلقي: تخزين Blob لديه سرعة نقل منخفضة. (هذا السيناريو غير مرجح لأن اتفاقية مستوى الخدمة تضمن 60 ميجابت في الثانية على الأقل.)

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

نماذج السيناريوهات: استخدام نسخة متوازية

السيناريو الأول: انسخ 1000 ملف بحجم 1 ميغابايت من نظام الملفات المحلي إلى مساحة تخزين Blob.

التحليل وضبط الأداء: على سبيل المثال، إذا قمت بتثبيت بوابة على جهاز رباعي النواة، فإن Data Factory يستخدم 16 نسخة متوازية لنقل الملفات من نظام الملفات إلى تخزين Blob بشكل متزامن. يجب أن ينتج عن هذا التنفيذ المتوازي سرعة نقل عالية. يمكنك أيضاً تحديد عدد النسخ المتوازية بشكل صريح. عند نسخ العديد من الملفات الصغيرة، تساعد النسخ المتوازية بشكل كبير في الإنتاجية باستخدام الموارد بشكل أكثر فعالية.

Scenario 1

السيناريو الثاني: انسخ 20 نقطة كبيرة حجم كل منها 500 ميجابايت من تخزين Blob إلى Data Lake Store Analytics، ثم اضبط الأداء.

التحليل وضبط الأداء: في هذا السيناريو، يقوم Data Factory بنسخ البيانات من تخزين Blob إلى Data Lake Store باستخدام نسخة واحدة (allelCopies مضبوطة على 1) وحركة البيانات السحابية المفردة الوحدات. سيكون معدل النقل الذي تلاحظه قريباً من ذلك الموضح في قسم مرجع الأداء .

Scenario 2

السيناريو الثالث: حجم الملف الفردي أكبر من عشرات الميغابايت وإجمالي الحجم كبير.

تحويل التحليل والأداء: لا تؤدي زيادة النُسخ المتوازية إلى أداء نسخ أفضل بسبب قيود الموارد في وحدة تحكم DMU أحادية السحاب. بدلاً من ذلك، يجب عليك تحديد المزيد من وحدات DMU السحابية للحصول على المزيد من الموارد لأداء حركة البيانات. لا تقم بتحديد قيمة خاصية النسخ المتوازية. يقوم مصنع البيانات بمعالجة التوازي نيابة عنك. في هذه الحالة، إذا قمت بتعيين cloudDataMovementUnits على 4، فسيحدث معدل نقل يبلغ حوالي أربع مرات.

Scenario 3

‏‏المرجع

فيما يلي مراجع مراقبة الأداء وضبطه لبعض مخازن البيانات المدعومة: