النسخ المتماثلة الثانوية Hyperscale

ينطبق على: قاعدة بيانات Azure SQL

كما هو موضح في هندسة الدوال الموزعة، تحتوي Azure SQL Database Hyperscale على نوعين مختلفين من عُقد الحساب، يشار إليهما أيضًا بالنسخ المتماثلة:

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

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

نسخة طبق الأصل عالية التوفر

تستخدم النسخة المتماثلة عالية الإتاحة (HA) نفس وحدات خدمة الصفحة مثل النسخة المتماثلة الأولية، لذلك لا يلزم نسخ بيانات لإضافة نسخة متماثلة HA. تُستخدم نسخ HA المتماثلة بشكل أساسي لزيادة توفر قاعدة البيانات؛ إنها بمثابة الاستعدادات الساخنة لأغراض تجاوز الفشل. إذا أصبحت النسخة المتماثلة الأولية غير متاحة، فإن تجاوز الفشل في إحدى نسخ HA المتماثلة الموجودة يكون آليًّا وسريعًا. سلسلة الاتصال لا تحتاج إلى تغيير؛ أثناء تطبيقات تجاوز الفشل قد تواجه أقل وقت تعطل بسبب انقطاع الاتصالات النشطة. كالمعتاد في هذا السيناريو، يوصى باستخدام منطق إعادة المحاولة الصحيح. توفر العديد من برامج التشغيل بالفعل درجة معينة من منطق إعادة المحاولة التلقائي. إذا كنت تستخدم .NET، فإن مكتبة Microsoft.Data.SqlClient الأحدث توفر دعمًا كاملًا أصليًّا لمنطق إعادة المحاولة التلقائي القابل للتكوين.

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

يمكن أن يكون هناك من صفر إلى أربع نسخ متماثلة HA. يمكن تغيير عددها أثناء إنشاء قاعدة بيانات أو بعد إنشاء قاعدة البيانات، عبر نقاط نهاية وأدوات الإدارة العامة (على سبيل المثال: PowerShell وAZ CLI وPortal وREST API). إنشاء أو إزالة النسخ المتماثلة HA لا يؤثر في الوصلات النشطة في النسخة المتماثلة الأولية.

الاتصال بنسخة متماثلة HA

في قواعد بيانات Hyperscale، تحدد الوسيطة ApplicationIntent في سلسلة الاتصال المستخدمة من قبل العميل ما إذا كان يتم توجيه الاتصال إلى النسخة المتماثلة الأولية للقراءة والكتابة أو إلى نسخة متماثلة HA للقراءة فقط. إذا تم تعيين ApplicationIntent على ReadOnly ولم يكن لقاعدة البيانات نسخة متماثلة ثانوية، فسيتم توجيه الاتصال إلى النسخة المتماثلة الأساسية وسيتم افتراضيًّا سلوك ReadWrite.

-- Connection string with application intent
Server=tcp:<myserver>.database.windows.net;Database=<mydatabase>;ApplicationIntent=ReadOnly;User ID=<myLogin>;Password=<myPassword>;Trusted_Connection=False; Encrypt=True;

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

نسخة متماثلة مسماة (في المعاينة)

النسخة المتماثلة المسماة، تمامًا مثل نسخة متماثلة HA، تستخدم نفس ملقمات الصفحة مثل النسخة المتماثلة الأساسية. مماثلة للنسخ المتماثلة HA، لا توجد نسخة بيانات مطلوبة لإضافة نسخة متماثلة مسماة.

الاختلاف عن النسخ المتماثلة HA هو النسخ المتماثلة المسماة:

  • تظهر كقواعد بيانات Azure SQL عادية (للقراءة فقط) في المدخل وفي مكالمات API (AZ CLI وPowerShell وT-SQL)؛
  • يمكن أن يكون اسم قاعدة البيانات مختلفًا عن النسخة المتماثلة الأساسية، ويمكن أن يكون موجودًا اختياريًّا على خادم منطقي مختلف (طالما أنه في نفس المنطقة مثل النسخة المتماثلة الأساسية)؛
  • لديهم هدف مستوى الخدمة الخاص بهم والذي يمكن تعيينه وتغييره بشكل مستقل عن النسخة المتماثلة الأساسية؛
  • دعم ما يصل إلى 30 نسخة متماثلة مسماة (لكل نسخة متماثلة أساسية)؛
  • دعم مصادقة مختلفة لكل نسخة متماثلة مسماة عن طريق إنشاء عمليات تسجيل دخول مختلفة على الخوادم المنطقية التي تستضيف النسخ المتماثلة المسماة.

ونتيجة لذلك، النسخ المتماثلة المسماة توفر العديد من الفوائد عبر النسخ المتماثلة HA، لأعباء عمل ما يتعلق للقراءة فقط:

  • لن يتعرض المستخدمون المتصلون بنسخة متماثلة مسماة من أي قطع إذا تم توسيع نطاق النسخة المتماثلة الأساسية لأعلى أو لأسفل؛ في نفس الوقت المستخدمون المتصلون بالنسخة المتماثلة الأساسية لن تتأثر النسخ المتماثلة المسماة توسيع أو لأسفل
  • لن تتأثر أعباء العمل التي تعمل على أي نسخة متماثلة، أساسية أو مسماة، بالاستعلامات طويلة التشغيل التي تعمل على النسخ المتماثلة الأخرى

الهدف الرئيسي من النسخ المتماثلة المسماة هو تمكين سيناريو توسيع نطاق قراءة OLTP الهائل، وتحسين أعباء عمل Hybrid Transactional وAnalytical Processing (HTAP). أمثلة على كيفية إنشاء مثل هذه الحلول متوفرة هنا:

بصرف النظر عن السيناريوهات الرئيسية المذكورة أعلاه، توفر النسخ المتماثلة المسماة المرونة والمرونة لتلبية العديد من حالات الاستخدام الأخرى:

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

يقوم المثال التالي بإنشاء نسخة متماثلة مسماة WideWorldImporters_NR لقاعدة البيانات WideWorldImporters. تستخدم النسخة المتماثلة الأساسية HS_Gen5_4 هدف مستوى الخدمة، بينما تستخدم النسخة المتماثلة المسماة HS_Gen5_2. كلاهما يستخدم نفس الخادم المنطقي MyServer. إذا كنت تفضل استخدام واجهة برمجة تطبيقات REST مباشرةً، فإن هذا الخيار ممكن أيضًا: قواعد البيانات - إنشاء قاعدة بيانات باسم النسخة المتماثلة الثانوية المسماة.

ALTER DATABASE [WideWorldImporters]
ADD SECONDARY ON SERVER [MyServer] 
WITH (SERVICE_OBJECTIVE = 'HS_Gen5_2', SECONDARY_TYPE = Named, DATABASE_NAME = [WideWorldImporters_NR]);

نظرًا لعدم وجود حركة بيانات متضمنة، سيتم إنشاء نسخة متماثلة مسماة في معظم الحالات في حوالي دقيقة. بمجرد توفر النسخة المتماثلة المسماة، ستكون مرئية من المدخل أو أي أداة سطر أوامر مثل AZ CLI أو PowerShell. يمكن استخدام النسخة المتماثلة المسماة كقاعدة بيانات عادية للقراءة فقط.

ملاحظة

بالنسبة للأسئلة المتداولة حول النسخ المتماثلة المسماة Hyperscale، راجع الأسئلة المتداولة حول Azure SQL Database Hyperscale المسمى بالنسخ المتماثلة.

الاتصال بنسخة متماثلة مسماة

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

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

تعديل نسخة متماثلة مسماة

يمكنك تحديد هدف مستوى الخدمة لنسخة متماثلة مسماة عند إنشائها، عبر الأمر ALTER DATABASE أو بأي طريقة أخرى مدعومة (AZ CLI، PowerShell، REST API). إذا كنت بحاجة إلى تغيير هدف مستوى الخدمة بعد إنشاء النسخة المتماثلة المسماة، فيمكنك القيام بذلك باستخدام الأمر ALTER DATABASE ... MODIFY في النسخة المتماثلة المسماة نفسها. على سبيل المثال، إذا كانت WideWorldImporters_NR هي النسخة المتماثلة المسماة لقاعدة بيانات WideWorldImporters، فيمكنك القيام بذلك كما هو موضح أدناه.

ALTER DATABASE [WideWorldImporters_NR] MODIFY (SERVICE_OBJECTIVE = 'HS_Gen5_4')

إزالة نسخة متماثلة مسماة

لإزالة نسخة متماثلة مسماة، تقوم بإسقاطها تمامًا كما تفعل مع قاعدة بيانات عادية. تأكد من أنك متصل بقاعدة بيانات الخادم master بالنسخة المتماثلة المسماة التي تريد إسقاطها، ثم استخدم الأمر التالي:

DROP DATABASE [WideWorldImporters_NR];

هام

ستتم إزالة النسخ المتماثلة المسماة تلقائيًّا عند حذف النسخة المتماثلة الأساسية التي تم إنشاؤها منها.

مشكلات معروفة

تم إرجاع بيانات غير صحيحة جزئيًّا من sys.databases

أثناء المعاينة العامة، قد تكون قيم الصف التي تم إرجاعها من sys.databases، للنسخ المتماثلة المسماة، في أعمدة غير name وdatabase_id، غير متناسقة وغير صحيحة. على سبيل المثال، يمكن الإبلاغ عن عمود compatibility_level للنسخة المتماثلة المسماة على أنه 140 حتى إذا تم تعيين قاعدة البيانات الأساسية التي تم إنشاء النسخة المتماثلة المسماة منها على 150. عندما يكون ذلك ممكناً، فالحل البديل هو الحصول على نفس البيانات باستخدام الدالة DATABASEPROPERTYEX() التي ستعرض البيانات الصحيحة.

نسخة جغرافية (في المعاينة)

باستخدام النسخ المتماثل الجغرافي النشط، يمكنك إنشاء نسخة متماثلة ثانوية قابلة للقراءة من قاعدة بيانات Hyperscale الأساسية في نفس منطقة Azure أو في منطقة Azure مختلفة. يجب إنشاء النسخ المتماثلة الجغرافية على خادم منطقي مختلف. يتطابق اسم قاعدة البيانات للنسخة المتماثلة الجغرافية دائمًا مع اسم قاعدة البيانات الأساسي.

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

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

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

النسخ المتماثل الجغرافي لقواعد بيانات Hyperscale قيد المعاينة حاليًّا، مع القيود التالية:

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

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