بنية مجموعة SQL (المعروفة سابقًا باسم SQL DW) المخصصة في Azure Synapse Analytics

Azure Synapse Analytics هي خدمة تحليلات تجمع بين تخزين بيانات المؤسسة وتحليلات البيانات الضخمة. تمنحك حرية الاستعلام عن البيانات وفقًا لشروطك.

إشعار

لمزيد من المعلومات حول Azure Synapse Analytics، شاهد هذا الفيديو الذي يشرح تحسينات حركة البيانات.

مكونات بنية SQL Synapse

يستفيد تجمع SQL المخصص (المعروف سابقًا باسم SQL DW) من بنية التوسع لتوزيع المعالجة الحسابية للبيانات عبر عقد متعددة. تعتبر وحدة القياس بمثابة تجريد لقوة الحساب التي تُعرف باسم وحدة مستودع البيانات. الحساب منفصل عن التخزين، مما يمكّنك من قياس الحساب بشكل مستقل عن البيانات الموجودة في نظامك.

Dedicated SQL pool (formerly SQL DW) architecture

يستخدم تجمع SQL المخصص (المعروف سابقًا باسم SQL DW) بنية مستندة إلى العقدة. تتصل التطبيقات وتصدر أوامر T-SQL بعقدة Control. تستضيف عقدة التحكم مشغل الاستعلام الموزع، الذي يحسن الاستعلامات للمعالجة المتوازية، ثم يمرر العمليات إلى عقد Compute للقيام بعملها بالتوازي.

تقوم عقد الحساب بتخزين جميع بيانات المستخدم في Azure Storage وتشغيل الاستعلامات المتوازية. خدمة حركة البيانات (DMS) هي خدمة داخلية على مستوى النظام تنقل البيانات عبر العقد حسب الضرورة لتشغيل الاستعلامات في نفس الوقت وإرجاع نتائج دقيقة.

مع التخزين والحساب المنفصلين، عند استخدام تجمع SQL مخصص (المعروف سابقًا باسم SQL DW) يمكن:

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

تخزين Azure

تستفيد SQL لتجمع SQL المخصص (المعروف سابقًا باسم SQL DW) من Azure Storage للحفاظ على أمان بيانات المستخدم. نظرًا لأن بياناتك يتم تخزينها وإدارتها بواسطة Azure Storage، فهناك رسوم منفصلة لاستهلاك التخزين. يتم تقسيم البيانات إلى توزيعات لتحسين أداء النظام. يمكنك اختيار نمط التقسيم المراد استخدامه لتوزيع البيانات عند تحديد الجدول. يتم دعم أنماط التجزئة هذه:

  • Hash
  • جولة روبن
  • النسخ المتماثل

عقدة التحكم

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

عقد الحساب

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

تحتوي كل عقدة حساب على معرف عقدة يكون مرئياً في عروض النظام. يمكنك رؤية معرف العقدة الحسابية من خلال البحث عن العمود node_id في عروض النظام التي تبدأ أسماؤها بـ sys.pdw_nodes. للحصول على قائمة بطرق عرض النظام هذه، راجع طرق عرض نظام Synapse SQL.

خدمة حركة البيانات

خدمة حركة البيانات (DMS) هي تقنية نقل البيانات التي تنسق حركة البيانات بين عقد الحساب. تتطلب بعض الاستعلامات تحريك البيانات للتأكد من أن الاستعلامات المتوازية تُرجع نتائج دقيقة. عندما تكون حركة البيانات مطلوبة، يضمن DMS وصول البيانات الصحيحة إلى الموقع الصحيح.

التوزيعات

ويعد التوزيع هو الوحدة الأساسية للتخزين والمعالجة للاستعلامات المتوازية التي تعمل على البيانات الموزعة. عندما يقوم SQL Synapse بتشغيل استعلام، يتم تقسيم العمل إلى 60 استعلامًا أصغر يتم تشغيلها بالتوازي.

يعمل كل من الاستعلامات الستين الأصغر على أحد توزيعات البيانات. تدير كل عقدة حساب واحدة أو أكثر من التوزيعات الستين. يحتوي تجمع SQL المخصص (المعروف سابقًا باسم SQL DW) مع الحد الأقصى لموارد الحوسبة على توزيع واحد لكل عقدة حساب. يحتوي تجمع SQL المخصص (المعروف سابقًا باسم SQL DW) مع الحد الأدنى من موارد الحوسبة على جميع التوزيعات على عقدة حساب واحدة.

إشعار

للحصول على توصيات حول أفضل إستراتيجية توزيع جدول لاستخدامها استنادًا إلى أحمال العمل الخاصة بك، راجع Azure Synapse SQL Distribution Advisor.

الجداول الموزعة باستخدام نمط التجزئة

يمكن أن يقدم جدول التجزئة الموزع أعلى أداء استعلام لعمليات الصلات والتجميعات في الجداول الكبيرة.

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

يوضح الرسم البياني التالي كيف يتم تخزين جدول كامل (غير موزع) كجدول موزع تجزئة.

Distributed table

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

هناك اعتبارات للأداء من أجل تحديد «عمود التوزيع»؛ مثل: التمايز، وانحراف البيانات، وأنواع الاستعلامات التي يتم تشغيلها على النظام.

الجداول الموزعة باستخدام نمط الترتيب الدوري

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

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

الجداول المنسوخة بشكل متماثل

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

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

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

Replicated table

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

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