تصميم وأداء عمليات ترحيل Teradata

هذه المقالة هي الجزء الأول من سلسلة الأجزاء السبعة التي توفر إرشادات حول كيفية الترحيل من Teradata إلى Azure Synapse Analytics. ينصب تركيز هذه المقالة على أفضل الممارسات الخاصة بالتصميم والأداء.

نظرة عامة

يرغب العديد من المستخدمين الحاليين لأنظمة مستودع بيانات Teradata في الاستفادة من الابتكارات التي توفرها البيئات السحابية الحديثة. تتيح لك البيئات السحابية لخدمة تأجير البنية التحتية (IaaS) والنظام الأساسي كخدمة (PaaS) تفويض مهام مثل صيانة البنية الأساسية وتطوير النظام الأساسي إلى موفر السحابة.

تلميح

أكثر من مجرد قاعدة بيانات - تتضمن بيئة Azure مجموعة شاملة من القدرات والأدوات.

على الرغم من أن Teradata وAzure Synapse Analytics هما قاعدة بيانات SQL التي تستخدم تقنيات المعالجة المتوازية على نطاق واسع (MPP) لتحقيق أداء استعلام عال على وحدات تخزين البيانات الكبيرة بشكل استثنائي، هناك بعض الاختلافات الأساسية في النهج:

  • غالبًا ما يتم تثبيت أنظمة Teradata القديمة محليا وتستخدم أجهزة خاصة، بينما يعتمد Azure Synapse على السحابة ويستخدم Azure Storage وموارد الحوسبة.

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

  • يمكنك إيقاف Azure Synapse مؤقتًا أو تغيير حجمه حسب الحاجة لتقليل استخدام الموارد والتكلفة.

  • ترقية تكوين Teradata هي مهمة رئيسية تتضمن أجهزة فعلية إضافية وإعادة تكوين قاعدة بيانات طويلة أو إعادة تحميلها.

Microsoft Azure هي بيئة سحابية متاحة عالميًا وآمنة للغاية وقابلة للتطوير تتضمن Azure Synapse والنظام البنائي من الأدوات والقدرات الداعمة. يلخص الرسم التخطيطي التالي النظام البيئي Azure Synapse.

Chart showing the Azure Synapse ecosystem of supporting tools and capabilities.

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

  • تحسين الأداء والسعر/الأداء.

  • زيادة سرعة الحركة ووقت أقصر للقيمة.

  • نشر أسرع للخادم وتطوير التطبيقات.

  • قابلية التوسع المرنة - تدفع فقط مقابل الاستخدام الفعلي.

  • تحسين الأمان/التوافق.

  • انخفاض تكاليف التخزين والإصلاح بعد كارثة.

  • انخفاض إجمالي التكلفة الإجمالية للتكلفة، والتحكم في التكلفة بشكل أفضل، والنفقات التشغيلية المبسطة (OPEX).

لتحقيق أقصى قدر من هذه الفوائد، قم بترحيل البيانات والتطبيقات الجديدة أو الموجودة إلى النظام الأساسي Azure Synapse. في العديد من المؤسسات، يتضمن الترحيل نقل مستودع بيانات موجود من نظام أساسي محلي قديم، مثل Teradata، إلى Azure Synapse. على مستوى عالٍ، يتضمن الترحيل الخطوات التالية:

    الإعداد 🡆

  • تعريف النطاق - ما الذي سيتم ترحيله.

  • إنشاء مخزون بيانات وعمليات للترحيل.

  • تعريف تغييرات نموذج البيانات (إن وجدت).

  • تعريف آلية استخراج بيانات المصدر.

  • حدد أدوات وميزات Azure والجهات الخارجية المناسبة لاستخدامها.

  • تدريب الموظفين في وقت مبكر على النظام الأساسي الجديد.

  • إعداد نظام Azure الأساسي المستهدف.

    الترحيل 🡆

  • ابدأ صغيرًا وبسيطًا.

  • أتمتة حيثما أمكن ذلك.

  • استفد من الأدوات والميزات المضمنة في Azure لتقليل جهود الترحيل.

  • ترحيل بيانات التعريف للجداول وطرق العرض.

  • ترحيل البيانات التاريخية للاحتفاظ بها.

  • ترحيل الإجراءات المخزنة والعمليات التجارية أو إعادة بناء التعليمات البرمجية لها.

  • ترحيل أو إعادة بناء التعليمات البرمجية لعمليات التحميل الإضافي ETL / ELT.

    ما بعد الترحيل

  • مراقبة وتوثيق جميع مراحل العملية.

  • استخدم التجربة المكتسبة لإنشاء قالب للترحيلات المستقبلية.

  • إعادة تصميم نموذج البيانات إذا لزم الأمر (باستخدام أداء النظام الأساسي الجديد وقابلية التوسع).

  • اختبار التطبيقات وأدوات الاستعلام.

  • قياس أداء الاستعلام وتحسينه.

توفر هذه المقالة معلومات وإرشادات عامة لتحسين الأداء عند ترحيل مستودع بيانات من بيئة Netezza موجودة إلى Azure Synapse. الهدف من تحسين الأداء هو تحقيق نفس أداء مستودع البيانات أو أداء أفضل في Azure Synapse بعد ترحيل المخطط.

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

نطاق الترحيل

عند التحضير للترحيل من بيئة Teradata، ضع في اعتبارك خيارات الترحيل التالية.

اختر حمل العمل للترحيل الأولي

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

  • إثبات قابلية الترحيل إلى Azure Synapse من خلال تقديم فوائد البيئة الجديدة بسرعة.

  • السماح للموظفين التقنيين الداخليين باكتساب خبرة متعلقة بالعملية والأدوات التي سيستخدمونها عند ترحيل مناطق أخرى.

  • إنشاء قالب لمزيد من عمليات الترحيل الخاصة ببيئة Teradata المصدر والأدوات والعمليات الحالية الموجودة بالفعل.

دعم المرشح الجيد للترحيل الأولي من بيئة Teradata العناصر السابقة، و:

  • تنفيذ حمل عمل المعلومات المهنية /والتحليلات بدلًا من حمل عمل معالجة المعاملات عبر الإنترنت (OLTP).

  • يحتوي على نموذج بيانات، مثل مخطط نجمي أو مخطط بلورة ثلجية، يمكن ترحيله بأقل تعديل.

تلميح

إنشاء مخزون من الكائنات التي تحتاج إلى ترحيلها وتوثيق عملية الترحيل.

يجب أن يكون حجم البيانات التي تم ترحيلها في الترحيل الأولي كبيرًا بما يكفي لتوضيح قدرات وفوائد بيئة Azure Synapse ولكن ليس كبيرًا للغاية لإظهار القيمة بسرعة. الحجم نموذجي هو الذي يتراوح من 1 إلى 10 تيرابايت.

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

الرفع والنقل الترحيل مقابل النهج المرحلي

بشكل عام، هناك نوعان من الترحيل بغض النظر عن الغرض من الترحيل المخطط له ونطاقه: الرفع والنقل كما هو ونهج مرحلي يتضمن التغييرات.

الرفع والنقل

في ترحيل الرفع والنقل يتم ترحيل نموذج بيانات موجود، مثل مخطط نجمي، دون تغيير إلى نظام Azure Synapse الأساسي الجديد. يقلل هذا النهج من المخاطر ووقت الترحيل عن طريق تقليل العمل المطلوب لتحقيق فوائد الانتقال إلى بيئة سحابة Azure. يعد ترحيل الرفع والنقل مناسبًا لهذه السيناريوهات:

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

تلميح

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

النهج المرحلي الذي يتضمن التغييرات

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

توصي Microsoft بنقل نموذج البيانات الموجود كما هو إلى Azure (اختياريًا باستخدام مثيل VM Teradata في Azure) واستخدام أداء ومرونة بيئة Azure لتطبيق تغييرات إعادة التصميم. وبهذه الطريقة، يمكنك استخدام قدرات Azure لإجراء التغييرات دون التأثير على نظام المصدر الحالي.

قم باستخدام مثيل Azure VM Teradata كجزء من الترحيل

عند الترحيل من بيئة Teradata المحلية، يمكنك الاستفادة من التخزين السحابي وقابلية التوسع المرنة في Azure لإنشاء مثيل Teradata داخل جهاز ظاهري. يقوم هذا الأسلوب بتجميع مثيل Teradata مع بيئة Azure Synapse المستهدفة. يمكنك استخدام مرافق Teradata القياسية مثل Teradata Parallel Data Transporter لنقل المجموعة الفرعية لجداول Teradata التي يتم ترحيلها بكفاءة إلى مثيل الجهاز الظاهري. بعد ذلك، يمكن أن تحدث جميع مهام الترحيل الإضافية داخل بيئة Azure. يتألف هذا النهج من العديد من الفوائد:

  • بعد النسخ المتماثل الأولي للبيانات، لا يتأثر النظام المصدر بمهام الترحيل.

  • تتوفر واجهات Teradata المألوفة والأدوات المساعدة والأدوات داخل بيئة Azure.

  • تتجنب بيئة Azure أي مشكلات محتملة تتعلق بإتاحة النطاق الترددي للشبكة بين نظام المصدر المحلي ونظام السحابة المستهدفة.

  • يمكن لأدوات مثل Azure Data Factory استدعاء أدوات مساعدة مثل Teradata Parallel Transporter لترحيل البيانات بكفاءة وسرعة.

  • يمكنك تنسيق عملية الترحيل والتحكم فيها بالكامل داخل بيئة Azure.

تلميح

استخدم أجهزة Azure الظاهرية لإنشاء مثيل Teradata مؤقت لتسريع الترحيل وتقليل التأثير على النظام المصدر.

استخدم Azure Data Factory من أجل تنفيذ الترحيل المستند إلى بيانات التعريف

يمكنك أتمتة عملية الترحيل وتنسيقها باستخدام قدرات بيئة Azure. يقلل هذا النهج من الأداء على بيئة Netezza الحالية، والتي قد تكون بالفعل قريبة من السعة الكاملة.

Azure Data Factory عبارة عن خدمة تكامل بيانات مستندة إلى السحابة تدعم إنشاء مهام سير عمل تعتمد على البيانات في السحابة تنظم وتقوم بأتمتة حركة البيانات وتحويل البيانات. يمكنك استخدام Azure Data Factory لإنشاء وجدولة مهام سير العمل المستندة إلى البيانات (المسارات) التي تستوعب البيانات من مخازن البيانات المختلفة. يمكن لمصنع البيانات معالجة البيانات وتحويلها باستخدام خدمات الحوسبة مثل Azure HDInsight Hadoop وSpark وAzure Data Lake Analytics والتعلم الآلي Azure.

عندما تخطط لاستخدام مرافق Data Factory لإدارة عملية الترحيل، قم بإنشاء بيانات تعريف تسرد جميع جداول البيانات التي سيتم ترحيلها وموقعها.

اختلافات التصميم بين Teradata وAzure Synapse

كما ذكرنا سابقًا، هناك بعض الاختلافات الأساسية في النهج بين قواعد بيانات Teradata وAzure Synapse Analytics وستتم مناقشة هذه الاختلافات لاحقًا.

قواعد بيانات متعددة مقابل قاعدة بيانات واحدة ومخططات

غالبا ما تحتوي بيئة Teradata على قواعد بيانات منفصلة متعددة. على سبيل المثال، قد تكون هناك قواعد بيانات منفصلة: لاستيعاب البيانات وجداول التقسيم المرحلي ولجداول المستودعات الأساسية ولمتاجر البيانات (يشار إليها أحيانا بالطبقة الدلالية). قد تقوم عمليات البنية الأساسية لـ ETL أو ELT بتنفيذ عمليات ربط عبر قاعدة البيانات ونقل البيانات بين قواعد البيانات المنفصلة.

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

  • طرق العرض في Azure Synapse للقراءة فقط، لذلك يجب إجراء أي تحديثات للبيانات على الجداول الأساسية الموجودة.

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

تلميح

اجمع قواعد بيانات متعددة في قاعدة بيانات أحادية داخل Azure Synapse واستخدم أسماء المخططات لفصل الجداول منطقياً.

عملية اعتبارات الجدول

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

تلميح

تشير الفهارس الموجودة إلى المرشحين للفهرسة في المستودع الذي تم ترحيله.

توافر عالٍ لقاعدة البيانات

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

إن الهدف من البنية الأساسية لقابلية الوصول العالية في خدمة Synapse Analytics هو ضمان تشغيل قاعدة البيانات 99.9% من الوقت دون أي قلق بشأن تأثير عمليات الصيانة وانقطاع الخدمة. لمزيد من المعلومات حول اتفاقية على مستوى الخدمة، اتفاقية على مستوى الخدمة لـ Azure Synapse Analytics. يعالج Azure تلقائيًا مهام الخدمة الهامة مثل التحديث الجزئي والنسخ الاحتياطية وترقيات Windows و SQL. كما يعالج Azure تلقائيًا الأحداث غير المخطط لها مثل حالات الفشل في الأجهزة أو البرامج أو الشبكة الأساسية.

يتم نسخ تخزين البيانات في Azure Synapse احتياطيًا تلقائيًا مع اللقطات. هذه اللقطات هي ميزة مضمنة للخدمة التي تنشئ نقاط استعادة. ليس عليك تمكين هذه الإمكانية. لا يمكن للمستخدمين حاليًا حذف نقاط الاستعادة التلقائية التي تستخدمها الخدمة للحفاظ على اتفاقيات على مستوى الخدمة (SLAs) للاسترداد.

يأخذ تجمع Azure Synapse Dedicated SQL لقطات من مستودع البيانات على مدار اليوم لإنشاء نقاط استعادة متوفرة لمدة سبعة أيام. لا يمكن تغيير فترة استبقاء البيانات هذه. يدعم تجمع SQL المخصص هدف نقطة الاسترداد (RPO) لمدة ثماني ساعات. يمكنك استعادة مستودع البيانات في المنطقة الأساسية من أي من اللقطات التي تم التقاطها في الأيام السبعة الماضية. إذا كنت تحتاج إلى المزيد من النسخ الاحتياطية الدقيقة، يمكنك استخدام خيار آخر يعرفه المستخدم.

أنواع جداول Teradata غير معتمدة

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

تلميح

يمكن أن تدعم الجداول القياسية في Azure Synapse السلسلة الزمنية والبيانات الزمنية لـTeradata التي تم ترحيلها.

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

تدعم بيئة Azure نتائج تحليلات السلاسل الزمنية للتحليات المعقدة على بيانات السلسلة الزمنية على نطاق واسع. تستهدف هذه الوظيفة تطبيقات تحليل بيانات IoT.

اختلافات بناء جملة SQL DML

توجد اختلافات في بناء جملة الخاصة بلغة معالجة بيانات SQL (DML) بين Teradata SQL وAzure Synapse T-SQL:

  • QUALIFY: يدعم Teradata عامل التشغيل QUALIFY. على سبيل المثال:

    SELECT col1
    FROM tab1
    WHERE col1='XYZ'
    QUALIFY ROW_NUMBER () OVER (PARTITION by
    col1 ORDER BY col1) = 1;
    

    بناء جملة Azure Synapse المكافئ هو:

    SELECT * FROM (
    SELECT col1, ROW_NUMBER () OVER (PARTITION by col1 ORDER BY col1) rn
    FROM tab1 WHERE col1='XYZ'
    ) WHERE rn = 1;
    
  • حساب التاريخ: يحتوي Azure Synapse على عوامل تشغيل مثل DATEADD وDATEDIFF التي يمكن استخدامها في الحقول DATE أو DATETIME. يدعم Teradata الطرح المباشر في تواريخ مثل SELECT DATE1 - DATE2 FROM...

  • GROUP BY: بالنسبة لترتيب GROUP BY الترتيبي، قم بتوفير اسم عمود T-SQL بشكل صريح.

  • LIKE ANY: يدعم Teradata بناء الجملة LIKE ANY مثل:

    SELECT * FROM CUSTOMER
    WHERE POSTCODE LIKE ANY
    ('CV1%', 'CV2%', 'CV3%');
    

    المكافئ في بناء جملة Azure Synapse هو:

    SELECT * FROM CUSTOMER
    WHERE
    (POSTCODE LIKE 'CV1%') OR (POSTCODE LIKE 'CV2%') OR (POSTCODE LIKE 'CV3%');
    
  • اعتمادًا على إعدادات النظام، قد تكون مقارنات الأحرف في Teradata غير حساسة لحالة الأحرف بشكل افتراضي. في Azure Synapse، تكون مقارنات الأحرف دائمًا حساسة لحالة الأحرف.

الدوال والإجراءات المخزنة والمشغلات والتسلسلات

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

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

يوفر شركاء تكامل البيانات أدوات وخدمات يمكنها أتمتة ترحيل الوظائف والإجراءات المخزنة والتسلسلات.

تناقش الأقسام التالية أيضًا ترحيل الوظائف والإجراءات المخزنة والتسلسلات.

الدالات

كما هو الحال مع معظم منتجات قواعد البيانات، تدعم Teradata النظام والوظائف المحددة بواسطة المستخدم ضمن تطبيق SQL. عند ترحيل نظام أساسي قديم لقاعدة البيانات إلى Azure Synapse، يمكن عادة ترحيل وظيفة النظام الشائعة دون تغيير. قد يكون لبعض وظائف النظام بناء جملة مختلف قليلاً، ولكن يمكن أتمتة أي تغير من التغييرات المطلوبة.

بالنسبة لوظائف نظام Teradata أو الوظائف العشوائية المعرفة من قبل المستخدم والتي ليس لها ما يعادلها في Azure Synapse، أعد ترميز هذه الوظائف باستخدام لغة بيئة مستهدفة. يستخدم Azure Synapse لغة Transact-SQL لتنفيذ الوظائف المعرفة من قبل المستخدم.

الإجراءات المخزنة

تدعم معظم منتجات قواعد البيانات الحديثة إجراءات التخزين داخل قاعدة البيانات. يوفر Teradata لغة SPL لهذا الغرض. يحتوي الإجراء المخزن عادة على كلٍ من عبارات SQL والمنطق الإجرائي، وقد يرجع بيانات أو حالة.

يدعم Azure Synapse الإجراءات المخزنة باستخدام T-SQL، لذلك ستحتاج إلى إعادة ترميز أي إجراءات مخزنة تم ترحيلها بتلك اللغة.

المشغلات

لا يدعم Azure Synapse إنشاء المشغل، ولكن يمكن تنفيذ إنشاء المشغل باستخدام Azure Data Factory.

التسلسلات

يعالج Azure Synapse التسلسلات بطريقة مشابهة لـ Teradata، ويمكنك تنفيذ التسلسلات باستخدام أعمدة IDENTITY أو التعليمات البرمجية SQL التي تنشئ رقم التسلسل التالي في سلسلة. يوفر التسلسل قيمًا رقمية فريدة يمكنك استخدامها كقيم مفاتيح بديلة للمفاتيح الأساسية.

استخراج بيانات التعريف والبيانات من بيئة Teradata

إنشاء لغة تعريف البيانات (DDL)

يحدد معيار ANSI SQL بناء الجملة الأساسي لأوامر لغة توصيف البيانات (DDL). بعض أوامر DDL، مثل CREATE TABLE و CREATE VIEW، شائعة لكلٍ من Teradata وAzure Synapse ولكنها توفر أيضًا ميزات خاصة بالتطبيق مثل الفهرسة وتوزيع الجدول وخيارات التقسيم.

يمكنك تحرير البرامج النصية CREATE TABLE وCREATE VIEW لـ Teradata الموجودة لتحقيق تعريفات مكافئة في Azure Synapse. للقيام بذلك، قد تحتاج إلى استخدام أنواع البيانات المعدلة وإزالة عبارات خاصة بـ Teradata أو تعديلها مثل FALLBACK.

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

ضمن بيئة Teradata، تقوم جداول كتالوج النظام بتحديد الجدول الحالي وتعرض التعريف. على عكس الوثائق التي يحتفظ بها المستخدم، تكون معلومات كتالوج النظام دائمًا كاملة ومتزامنة مع تعريفات الجدول الحالية. باستخدام طرق العرض في الكتالوج مثل DBC.ColumnsV، يمكنك الوصول إلى معلومات كتالوج النظام لإنشاء عبارات DDL CREATE TABLE التي تنشئ جداول مكافئة في Azure Synapse.

تلميح

استخدم بيانات تعريف Teradata الحالية لأتمتة إنشاء لغة توصيف البيانات CREATE TABLE و CREATE VIEW لـ Azure Synapse.

يمكنك أيضًا استخدام أدوات الترحيل وETL التابعة لجهة خارجية التي تعالج معلومات كتالوج النظام لتحقيق نتائج مماثلة.

استخراج البيانات من Teradata

يمكنك استخراج بيانات الجدول الأولية من جداول Teradata إلى ملفات محددة مسطحة، مثل ملفات CSV، باستخدام أدوات Teradata القياسية مثل Basic Teradata Query (BTEQ) أو Teradata FastExport أو Teradata Parallel Transporter (TPT). استخدم TPT لاستخراج بيانات الجدول بأكبر قدر ممكن من الكفاءة. تستخدم TPT العديد من تدفقات FastExport المتوازية لتحقيق أعلى معدل نقل.

تلميح

استخدم Teradata Parallel Transporter لاستخراج البيانات الأكثر كفاءة.

استدعاء TPT مباشرة من Azure Data Factory. هذا هو النهج الموصى به لترحيل البيانات لمثيلات Teradata المحلية ومثيلات Teradata التي تعمل ضمن جهاز ظاهري في بيئة Azure.

ينبغي أن تحتوي ملفات البيانات المستخرجة على نص محدد بتنسيق CSV أو عمود الصف المحسن (ORC) أو تنسيق Parquet.

لمزيد من المعلومات حول ترحيل البيانات وETL من بيئة Teradata، راجع ترحيل البيانات وETL وتحميل عمليات ترحيل Teradata.

توصيات الأداء لترحيلات Teradata

الهدف من تحسين الأداء هو الحصول على نفس أداء مستودع البيانات أو أداء أفضل بعد الترحيل إلى Azure Synapse.

تلميح

تحديد أولويات للإلمام بخيارات الضبط في Azure Synapse في بداية الترحيل.

الاختلافات في نهج ضبط الأداء

يسلط هذا القسم الضوء على اختلافات التنفيذ لضبط الأداء ذات المستوى الأدنى بين Teradata وAzure Synapse.

خيارات توزيع البيانات

بالنسبة للأداء، تم تصميم Azure Synapse مع بنية متعددة العقد ويستخدم المعالجة المتوازية. لتحسين أداء الجدول الفردي في Azure Synapse، يمكنك تحديد خيار توزيع البيانات في عبارات CREATE TABLE باستخدام العبارة DISTRIBUTION. على سبيل المثال، يمكنك تحديد جدول موزع بناءً على التجزئة، والذي يوزع صفوف الجدول عبر عقد الحساب باستخدام وظيفة تجزئة محددة. الهدف هو تقليل كمية البيانات المنقولة بين عقد المعالجة عند تنفيذ استعلام.

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

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

فهرسة البيانات

يدعم Azure Synapse العديد من خيارات الفهرسة التي يحددها المستخدم والتي تختلف عن خيارات الفهرسة المُطبقة في Teradata. لمزيد من المعلومات حول خيارات الفهرسة المختلفة في Azure Synapse، راجع الفهارس في جداول تجمع SQL المخصصة.

توفر الفهارس الموجودة داخل بيئة Teradata المصدر إشارة مفيدة لاستخدام البيانات وأعمدة المرشح للفهرسة في بيئة Azure Synapse.

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

في مستودع بيانات المؤسسة، يمكن أن تحتوي جداول الحقائق على مليارات الصفوف. يعمل التقسيم على تحسين أداء الصيانة والاستعلام لهذه الجداول عن طريق تقسيمها إلى أجزاء منفصلة لتقليل كمية البيانات التي تتم معالجتها. في Azure Synapse، تحدد عبارة CREATE TABLE مواصفات التقسيم لجدول. لا تقسِّم إلا الجداول الكبيرة فقط وتأكد من أن كل قسم يحتوي على 60 مليون صف على الأقل.

يمكنك استخدام حقل واحد فقط لكل جدول للتقسيم. غالبًا ما يكون هذا الحقل حقل تاريخ لأنه تتم تصفية العديد من الاستعلامات حسب التاريخ أو نطاق التاريخ. من الممكن تغيير تقسيم الجدول بعد التحميل الأولي باستخدام عبارة CREATE TABLE AS (CTAS) لإعادة إنشاء الجدول بتوزيع جديد. للحصول على مناقشة مفصلة حول التقسيم في Azure Synapse، راجع تقسيم الجداول في تجمع SQL مخصص.

إحصائيات جدول البيانات

ينبغي عليك التأكد من أن الإحصائيات على جداول البيانات محدثة عن طريق الإنشاء في خطوة إحصائية إلى مهام ETL/ELT.

PolyBase أو COPY INTO لتحميل البيانات

يدعم PolyBase التحميل الفعال لكميات كبيرة من البيانات إلى مستودع بيانات باستخدام تدفقات التحميل المتوازية. لمزيد من المعلومات، راجع استراتيجية تحميل بيانات PolyBase.

كما يدعم COPY INTO أيضا استيعاب البيانات عالية الإنتاجية، و:

  • استرداد البيانات من جميع الملفات داخل مجلد ومجلدات فرعية.

  • استرداد البيانات من مواقع متعددة في نفس حساب التخزين. يمكنك تحديد مواقع متعددة باستخدام مسارات مفصولة بفواصل.

  • Azure Data Lake Storage (ADLS) وAzure Blob Storage.

  • تنسيقات ملفات CSV وPARQUET وORC.

إدارة أحمال العمل

يمكن أن يشكل تشغيل أحمال العمل المختلطة تحديات في الموارد على الأنظمة المزدحمة. يدير مخطط إدارة حمل العمل الناجح الموارد بفعاليةٍ، ويضمن استخدام الموارد بكفاءةٍ عاليةٍ، ويزيد من العائد على الاستثمار (ROI). يسمح تصنيف حمل العملوأهمية حمل العملوعزل حمل العمل بمزيد من التحكم في كيفية استخدام حمل العمل لموارد النظام.

يوضح دليل إدارة حمل العمل تقنيات تحليل حمل العمل وإدارة ومراقبة أهمية حمل العمل وخطوات تحويل فئة مورد إلى مجموعة حمل عمل. استخدم مدخل Microsoft Azureواستعلامات T-SQL على DMVs لمراقبة حمل العمل لضمان استخدام الموارد القابلة للتطبيق بكفاءة.

الخطوات التالية

للتعرف على ETL والتحميل لترحيل Teradata، راجع المقالة التالية في هذه السلسلة: ترحيل البيانات وETL والتحميل لترحيلات Teradata.