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

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

ما هي وحدات تخزين البيانات

يمثل مجمع SQL المخصص (المعروف سابقاً باسم SQL DW) مجموعة من الموارد التحليلية التي يتم توفيرها. تُعرَّف الموارد التحليلية بأنها مزيج من وحدة المعالجة المركزية والذاكرة وميزة الإدخال والإخراج.

يتم تجميع هذه الموارد الثلاثة في وحدات مقياس الحساب تسمى وحدات مستودع البيانات (DWUs). تمثل وحدة مستودع البيانات قياسًا مجردًا تمت تسويته لموارد الحساب وأدائه.

يؤدي التغيير في مستوى الخدمة إلى تغيير عدد وحدات DWU المتاحة للنظام، والذي بدوره يضبط أداء وتكلفة نظامك.

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

يعتمد أداء وحدات مستودع البيانات على مقاييس حمل العمل الخاصة بمستودعات البيانات هذه:

  • مدى سرعة استعلام مجمع SQL المخصص (المعروف سابقاً باسم SQL DW) يمكنه مسح عدد كبير من السجلات ثم إجراء تجميع معقد. تعتمد هذه العملية بشكل مكثف على ميزة الإدخال والإخراج ووحدة المعالجة المركزية.
  • مدى سرعة تجمع SQL المخصص (المعروف سابقاً باسم SQL DW) في استيعاب البيانات من Azure Storage Blobs أو Azure Data Lake. تعتمد هذه العملية بشكل مكثف على الشبكة ووحدة المعالجة المركزية.
  • مدى السرعة الممكنة لأمر CREATE TABLE AS SELECT T-SQL في نسخ جدول. تتضمن هذه العملية قراءة البيانات من مساحة التخزين، وتوزيعها عبر عُقد الجهاز، والكتابة مرة أخرى في مساحة التخزين. تعتمد هذه العملية بشكل مكثف على وحدة المعالجة المركزية وميزة الإدخال والإخراج والشبكة.

زيادة وحدات مستودع البيانات:

  • تغيّر أداء النظام بشكل خطي لعمليات الفحص والتجميع وعبارات CTAS
  • تزيد عدد القراء والكُتّاب لعمليات تحميل PolyBase
  • يزيد من الحد الأقصى لعدد الاستعلامات المتزامنة وفتحات التزامن

هدف مستوى الخدمة

هدف مستوى الخدمة (SLO) هو إعداد قابلية التوسع الذي يحدد التكلفة ومستوى الأداء لتجمع SQL المخصص (المعروف سابقاً باسم SQL DW). يتم قياس مستويات الخدمة لتجمع SQL المخصص من Gen2 (المعروف سابقاً باسم SQL DW) في وحدات تخزين البيانات (DWU)، على سبيل المثال DW2000c.

إشعار

أضاف تجمع SQL المخصص (المعروف سابقاً باسم SQL DW) Gen2 مؤخراً إمكانات مقياس إضافية لدعم مستويات الحوسبة المنخفضة مثل DW100c. يمكن الآن ترقية مستودعات البيانات الموجودة على الجيل الأول التي تتطلب مستويات حسابية أقل إلى الجيل الثاني في المناطق المتاحة حاليًا بدون أي تكلفة إضافية. إذا لم تكن منطقتك مدعومة بعد، فلا تزال بإمكانك الترقية إلى منطقة مدعومة. لمزيد من المعلومات، راجع الترقية إلى الجيل الثاني.

في T-SQL، يحدد إعداد SERVICE_OBJECTIVE مستوى الخدمة وطبقة الأداء لتجمع SQL المخصص (المعروف سابقاً باسم SQL DW).

CREATE DATABASE mySQLDW
(Edition = 'Datawarehouse'
 ,SERVICE_OBJECTIVE = 'DW1000c'
)
;

مستويات الأداء ووحدات مستودع البيانات

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

  • يتم قياس مستودعات البيانات للجيل الأول في وحدات مستودع البيانات (DWUs).
  • ويتم قياس مستودعات البيانات للجيل الثاني في الوحدات الحسابية لمستودع البيانات (cDWUs).

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

حدود السعة

كل خادم SQL (على سبيل المثال: myserver.database.windows.net) لديه حصة نسبية من وحدة معاملات قاعدة البيانات (DTU) تسمح بعدد محدد من وحدات مستودع البيانات. لمزيد من المعلومات، راجع حدود سعة إدارة حمل العمل.

كم عدد وحدات مستودع البيانات التي أحتاجها

يعتمد العدد المثالي لوحدات مستودع البيانات إلى حد كبير على حمل العمل وكمية البيانات التي قمت بتحميلها في النظام.

خطوات لمعرفة أفضل عدد وحدات مستودع البيانات لحمل العمل:

  1. ابدأ باختيار عدد صغير نسبيًا من وحدات مستودع البيانات.

  2. راقب أداء التطبيق في أثناء اختبار تحميل البيانات في النظام، مع ملاحظة العدد المحدد من وحدات مستودع البيانات مقارنةً بالأداء الذي تلاحظه. تحقق من خلال مراقبة استخدام الموارد.

  3. حدد أي متطلبات إضافية للفترات الدورية من ذروة النشاط. قد يلزم تكرار زيادة حجم أحمال العمل التي يظهر فيها ارتفاع وانخفاض في النشاط بنسب كبيرة.

تجمع SQL المخصص (المعروف سابقاً باسم SQL DW) هو نظام قابل للتوسيع يمكنه توفير كميات هائلة من الحوسبة والاستعلام عن كميات كبيرة من البيانات.

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

إشعار

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

الأذونات

يتطلب تغيير وحدات مستودع البيانات الأذونات الموضحة في ALTER DATABASE.

يمكن للأدوار المضمنة في Azure، مثل SQL DB Contributor وSQL Server Contributor، تغيير إعدادات وحدات مستودع البيانات.

عرض الإعدادات الحالية لوحدات مستودع البيانات

لعرض الإعداد الحالي لوحدات مستودع البيانات:

  1. افتح مستكشف عناصر SQL Server في Visual Studio.
  2. اتصل بقاعدة البيانات الرئيسية المقترنة بخادم SQL المنطقي.
  3. حدد من طريقة عرض الإدارة الديناميكية sys.database_service_objectives. إليك مثال:
SELECT  db.name [Database]
,        ds.edition [Edition]
,        ds.service_objective [Service Objective]
FROM    sys.database_service_objectives   AS ds
JOIN    sys.databases                     AS db ON ds.database_id = db.database_id
;

تغيير وحدات مستودع البيانات

مدخل Azure

لتغيير وحدات مستودع البيانات:

  1. افتح مدخل Microsoft Azure، وافتح قاعدة البيانات الخاصة بك، وانقر فوق Scale.

  2. ضمن تحجيم، حرك شريط التمرير لليسار أو لليمين لتغيير إعداد وحدات مستودع البيانات.

  3. انقر فوق حفظ. تظهر رسالة تأكيد. انقر فوق yes للتأكيد أو no للإلغاء.

PowerShell

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

لتغيير وحدات مستودع البيانات، استخدم Set-AzSqlDatabase PowerShell cmdlet. في المثال التالي، يتم تعيين هدف مستوى الخدمة إلى DW1000 لقاعدة البيانات MySQLDW المُستضافة على الخادم MyServer.

Set-AzSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000c"

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

T-SQL

باستخدام T-SQL، يمكنك عرض تعيينات الإعدادات الحالية لوحدات مستودع البيانات وتغيير الإعدادات والتحقق من التقدم.

لتغيير وحدات مستودع البيانات:

  1. اتصل بقاعدة البيانات الرئيسية المقترنة بالخادم.
  2. استخدم عبارة TSQL ALTER DATABASE. في المثال التالي، يتم تعيين هدف مستوى الخدمة إلى DW1000c لقاعدة البيانات MySQLDW.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;

واجهة برمجة تطبيقات REST

لتغيير وحدات مستودع البيانات، استخدم واجهة برمجة تطبيقات REST إنشاء قاعدة بيانات أو تحديثها. يعين المثال التالي هدف مستوى الخدمة إلى DW1000c لقاعدة البيانات MySQLDW، والتي تتم استضافتها على الخادم MyServer. الخادم في مجموعة مورد Azure، باسم ResourceGroup1.

PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}/databases/{database-name}?api-version=2014-04-01-preview HTTP/1.1
Content-Type: application/json; charset=UTF-8

{
    "properties": {
        "requestedServiceObjectiveName": "DW1000c"
    }
}

لمزيد من أمثلة واجهة برمجة تطبيقات REST، راجع واجهات برمجة تطبيقات REST لتجمع SQL المخصص (المعروف سابقاً باسم SQL DW).

التحقق من حالة تغييرات وحدات مستودع البيانات

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

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

لا يمكنك التحقق من حالة قاعدة البيانات لعمليات التوسع باستخدام مدخل Microsoft Azure.

للتحقق من حالة تغييرات وحدات مستودع البيانات:

  1. اتصل بقاعدة البيانات الرئيسية المقترنة بالخادم.

  2. أرسل الاستعلام التالي للتحقق من حالة قاعدة البيانات.

    SELECT    *
    FROM      sys.dm_operation_status
    WHERE     resource_type_desc = 'Database'
    AND       major_resource_id = 'MySQLDW'
    ;
    

يعرض DMV هذا معلومات بشأن عمليات الإدارة المختلفة على تجمع SQL المخصص (المعروف سابقاً باسم SQL DW) مثل العملية وحالة العملية، والتي تكون إما IN_PROGRESS أو COMPLETED.

سير التحجيم

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

  • في عمليات زيادة الحجم، يفصل النظام جميع العُقد الحسابية، ويوفر عُقدًا حسابية إضافية، ثم يعيد ربطها بطبقة التخزين.
  • وفي عمليات تقليص الحجم، يفصل النظام جميع العُقد الحسابية ثم يعيد ربط العُقد المطلوبة فقط بطبقة التخزين.

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

للتعرف على المزيد حول إدارة الأداء، راجع فئات الموارد لإدارة حمل العمل وحدود الذاكرة والتزامن.