مشاركة عبر


استهلاك موارد Synapse SQL

توضح هذه المقالة نماذج استهلاك الموارد من Synapse SQL.

تجمع SQL بلا خادم

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

تجمع SQL مخصص - وحدات مستودع البيانات (DWUs) ووحدات مستودع بيانات الحوسبة (cDWUs)

توصيات حول اختيار العدد المثالي لوحدات مستودع البيانات (DWUs) لتحسين السعر والأداء، وكيفية تغيير عدد الوحدات.

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

يمثل تجمع Synapse SQL مجموعة من الموارد التحليلية التي يتم توفيرها. يتم تعريف الموارد التحليلية على أنها مزيج من وحدة المعالجة المركزية والذاكرة والإخراج. يتم تجميع هذه الموارد الثلاثة في وحدات مقياس الحوسبة تسمى وحدات مستودع البيانات (DWUs). يمثل DWU مقياسا مجردا ومتطبيعا لموارد الحوسبة والأداء. يؤدي تغيير مستوى الخدمة إلى تغيير عدد وحدات DWUs المتوفرة للنظام. بدوره، يضبط هذا التغيير أداء النظام وتكلفته.

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

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

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

زيادة وحدات DWUs:

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

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

هدف مستوى الخدمة (SLO) هو إعداد قابلية التوسع الذي يحدد مستوى التكلفة والأداء لمستودع البيانات الخاص بك. يتم قياس مستويات الخدمة ل Gen2 في وحدات مستودع بيانات الحوسبة (cDWU)، على سبيل المثال DW2000c. يتم قياس مستويات خدمة Gen1 بوحدات DWUs، على سبيل المثال DW2000.

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

ملاحظة

أضاف Azure Synapse Analytics Gen2 مؤخرا قدرات مقياس إضافية لدعم مستويات الحوسبة منخفضة حتى 100 cDWU. يمكن الآن ترقية مستودعات البيانات الموجودة حاليا على Gen1 التي تتطلب مستويات حساب أقل إلى Gen2 في المناطق المتوفرة حاليا دون أي تكلفة إضافية. إذا لم تكن منطقتك مدعومة بعد، فلا يزال بإمكانك الترقية إلى منطقة مدعومة. لمزيد من المعلومات، راجع الترقية إلى الجيل الثاني.

في T-SQL، يحدد إعداد SERVICE_OBJECTIVE مستوى الخدمة ومستوى الأداء لتجمع SQL المخصص.

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

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

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

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

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

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

حدود السعة

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

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

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

خطوات للعثور على أفضل DWU لحمل العمل الخاص بك:

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

تجمع SQL هو نظام توسيع يمكنه توفير كميات هائلة من الحوسبة والاستعلام عن كميات كبيرة من البيانات. لمعرفة قدراتها الحقيقية للتحجيم، خاصة في وحدات DWUs الأكبر، نوصي بتحجيم مجموعة البيانات أثناء التحجيم للتأكد من أن لديك بيانات كافية لتغذية وحدات المعالجة المركزية. لاختبار المقياس، نوصي باستخدام 1 تيرابايت على الأقل.

ملاحظة

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

الأذونات

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

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

عرض إعدادات DWU الحالية

لعرض إعداد DWU الحالي:

  1. افتح SQL Server Object Explorer في 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

لتغيير وحدات DWUs:

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

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

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

PowerShell

ملاحظة

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

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

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

لمزيد من المعلومات، راجع PowerShell cmdlets ل Azure Synapse Analytics

T-SQL

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

لتغيير وحدات DWUs:

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

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

لتغيير وحدات DWUs، استخدم واجهة برمجة تطبيقات 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": DW1000
    }
}

لمزيد من أمثلة واجهة برمجة تطبيقات REST، راجع واجهات برمجة تطبيقات REST ل Azure Synapse Analytics.

التحقق من حالة تغييرات DWU

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

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

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

للتحقق من حالة تغييرات DWU:

  1. الاتصال بقاعدة البيانات الرئيسية المقترنة بالخادم الخاص بك.
  2. أرسل الاستعلام التالي للتحقق من حالة قاعدة البيانات.
SELECT    *
FROM      sys.databases
;
  1. إرسال الاستعلام التالي للتحقق من حالة العملية
SELECT    *
FROM      sys.dm_operation_status
WHERE     resource_type_desc = 'Database'
AND       major_resource_id = 'MySQLDW'
;

يقوم DMV هذا بإرجاع معلومات حول عمليات الإدارة المختلفة على تجمع SQL المخصص مثل العملية وحالة العملية، والتي تكون إما IN_PROGRESS أو مكتملة.

سير عمل التحجيم

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

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

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

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