التجمعات المرنة تساعدك في إدارة قواعد بيانات متعددة وقياسها في قاعدة بيانات Azure SQL

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

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

ما هي مجموعات SQL المرنة؟

يقوم مطورو خدمة تأجير البرامج (SaaS) ببناء تطبيقات فوق طبقات البيانات واسعة النطاق التي تتكون من قواعد بيانات متعددة. نمط التطبيق المشهور هو توفير قاعدة بيانات واحدة لكل عميل. لكن العملاء المختلفين في الغالب ما تكون لديهم أنماط استخدام متباينة وغير متوقعة، ومن الصعب التنبؤ بمتطلبات الموارد لكل مستخدم قاعدة بيانات فردي. تقليديًا، كنت تمتلك خيارين:

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

يحل Elastic pools هذه المشكلة من خلال ضمان أن قواعد البيانات الحصول على موارد الأداء التي يحتاجونها عندما يحتاجون إليها. وهي توفر آلية بسيطة لتخصيص الموارد في إطار ميزانية يمكن التنبؤ بها. لمعرفة المزيد عن أنماط التصميم لتطبيقات خدمة تأجير البرامج (SaaS) باستخدام مجموعات مرنة، راجع أنماط التصميم لتطبيقات خدمة تأجير البرامج (SaaS) متعددة المستخدمين باستخدام قاعدة بيانات SQL.

هام

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

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

يتم التحكم في مقدار الموارد المتاحة للمجمع من خلال ميزانيتك. كل ما عليك القيام به هو:

  • إضافة قواعد البيانات إلى التجمع.
  • اختيارياً؛ قم بتعيين الحد الأدنى والحد الأقصى من الموارد لقواعد البيانات. هذه الموارد هي إما الحد الأدنى والحد الأقصى من DTU أو الحد الأدنى أو الأقصى من vCores اعتماداً على اختيارك لنموذج الموارد.
  • حدد موارد التجمع بناءً على ميزانيتك.

يمكنك استخدام المجمعات لتنمية خدمتك بسلاسة من شركة ناشئة بسيطة إلى شركة ناضجة على نطاق متزايد باستمرار.

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

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

ملاحظة

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

متى يجب أن تفكر في تجمع مرن لقاعدة بيانات SQL؟

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

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

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

تقييم أنماط استخدام قاعدة البيانات

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

Chart that shows a single database suitable for a pool.

يوضح الرسم البياني استخدام DTU على مدار ساعة واحدة من 12:00 إلى 1:00 حيث تتميز كل نقطة بيانات بدقة دقيقة واحدة. في الساعة 12:10، يصل DB1 إلى ذروته حتى 90 DTU، لكن متوسط ​​استخدامه الإجمالي أقل من خمسة DTU. مطلوب حجم حساب S3 لتشغيل حمل العمل هذا في قاعدة بيانات واحدة، ولكن هذا الحجم يترك معظم الموارد غير مستخدمة خلال فترات النشاط المنخفض.

يسمح التجمع بمشاركة DTUs غير المستخدمة عبر قواعد بيانات متعددة. يقلل التجمع من DTUs المطلوبة والتكلفة الإجمالية.

بناءً على المثال السابق، افترض أن هناك قواعد بيانات أخرى ذات أنماط استخدام مماثلة مثل DB1. في الشكلين التاليين، تم وضع استخدام أربع قواعد بيانات و20 قاعدة بيانات على نفس الرسم البياني لتوضيح الطبيعة غير المتداخلة لاستخدامها بمرور الوقت باستخدام نموذج الشراء القائم على DTU:

Chart that shows four databases with a utilization pattern suitable for a pool.

Chart that shows 20 databases with a utilization pattern suitable for a pool.

يتم توضيح الاستخدام الكلي لـDTU عبر جميع قواعد البيانات العشرين بالخط الأسود في الرسم البياني السابق. يوضح هذا السطر أن إجمالي استخدام DTU لا يتجاوز أبداً 100 وحدة DTU، ويشير إلى أن قواعد البيانات العشرين يمكنها مشاركة 100 وحدة eDTU خلال هذه الفترة الزمنية. والنتيجة هي تخفيض 20 مرة في DTU وتخفيض السعر 13 مرة مقارنة بوضع كل من قواعد البيانات في أحجام حساب S3 لقواعد البيانات الفردية.

هذا المثال مثالي للأسباب التالية:

  • هناك اختلافات كبيرة بين ذروة الاستخدام ومتوسط ​​الاستخدام لكل قاعدة بيانات.
  • يحدث أقصى استخدام لكل قاعدة بيانات في نقاط زمنية مختلفة.
  • يتم مشاركة وحدات eDTUs بين الكثير من قواعد البيانات.

في نموذج شراء DTU، يكون سعر التجمع وظيفة في وحدات eDTU للمجمع. في حين أن سعر وحدة eDTU للتجمع أكبر بمقدار 1.5 مرة من سعر وحدة DTU لقاعدة بيانات واحدة، يمكن مشاركة وحدات eDTU المجمعة بواسطة العديد من قواعد البيانات، وهناك حاجة إلى عدد أقل من وحدات eDTU الإجمالية. هذه الفروق في الأسعار ومشاركة eDTU هي أساس إمكانية توفير الأسعار التي من الممكن أن توفرها المجمعات.

في نموذج شراء vCore، يكون سعر وحدة vCore للتجمعات المرنة هو نفسه سعر وحدة vCore لقواعد البيانات الفردية.

كيف أختار الحجم الصحيح للمسبح؟

يعتمد الحجم الأفضل للتجمع على الموارد التجميعية اللازمة لكل قواعد البيانات في التجمع. تحتاج إلى تحديد:

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

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

من الممكن أن تساعدك الخطوات الآتية في تقدير ما إذا كان التجمع أكثر فعالية من حيث التكلفة من قواعد البيانات الفردية:

  1. تقدير eDTUs أو vCores اللازمة للتجمع:
    • بالنسبة إلى نموذج الشراء القائم على DTU:
      • MAX (<إجمالي عدد قواعد البيانات × متوسط ​​استخدام DTU لكل قاعدة بيانات>، <عدد قواعد البيانات التي بلغت ذروتها بشكل متزامن × الذروة استخدام DTU لكل قاعدة بيانات>)
    • بالنسبة إلى نموذج الشراء المستند على vCore:
      • MAX (<إجمالي عدد قواعد البيانات × متوسط ​​استخدام vCore لكل قاعدة بيانات>، <عدد قواعد البيانات التي بلغت ذروتها بشكل متزامن × الذروة استخدام vCore لكل قاعدة بيانات>)
  2. تقدير إجمالي مساحة التخزين المطلوبة للمجمع بواسطة إضافة حجم البيانات المطلوب لكل قواعد البيانات في التجمع. بالنسبة لنموذج شراء DTU، حدد حجم تجمع eDTU الذي يوفر هذا القدر من التخزين.
  3. بالنسبة لنموذج الشراء المستند إلى DTU، خذ أكبر تقديرات eDTU من الخطوة 1 والخطوة 2. بالنسبة لنموذج الشراء المستند إلى vCore، خذ تقدير vCore من الخطوة 1.
  4. راجع صفحة أسعار قاعدة بيانات SQL وابحث عن أصغر حجم للمجموعة أكبر من التقدير من الخطوة 3.
  5. قارن سعر المجموعة من الخطوة 4 بسعر استخدام أحجام الحوسبة المناسبة لقواعد البيانات الفردية.

هام

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

خصائص لكل قاعدة بيانات

يمكنك تعيين خصائص كل قاعدة بيانات اختيارياً لتعديل أنماط استهلاك الموارد في المجموعات المرنة. لمعلومات أكثر، قم بمراجعة وثائق حدود الموارد لتجمعات مرنة DTU وvCore.

استخدم ميزات قاعدة بيانات SQL الأخرى مع المجموعات المرنة

يمكنك استخدام ميزات قاعدة بيانات SQL الأخرى مع المجموعات المرنة.

وظائف مرنة وأحواض سباحة مرنة

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

لمزيد من المعلومات عن أدوات قاعدة البيانات الأخرى للعمل مع قواعد بيانات متعددة، راجع التوسع باستخدام قاعدة بيانات SQL.

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

تدعم قواعد البيانات المجمعة بشكل عام نفس ميزات استمرارية الأعمال المتوفرة لقواعد البيانات الفردية:

  • استعادة نقطة في الوقت: تستخدم استعادة نقطة في الوقت نسخاً احتياطية تلقائية لقاعدة البيانات لاستعادة قاعدة بيانات في مستودع إلى نقطة زمنية محددة. راجع استعادة في وقت واحد.
  • استعادة الموقع الجغرافي: توفر ميزة الاستعادة الجغرافية خيار الاسترداد الافتراضي عند عدم توفر قاعدة البيانات بسبب حادث في المنطقة التي تستضيف فيها قاعدة البيانات. راجع استعادة قاعدة بيانات SQL أو الفشل إلى ثانوية.
  • النسخ الجغرافي النشط: بالنسبة للتطبيقات التي تحتوي على متطلبات استرداد أكثر قوة ما يسمح توفره الاستعادة الجغرافية، قم بتكوين active geo-replication أو auto-failover group.

قم بإنشاء تجمع مرن جديد لقاعدة بيانات SQL باستخدام مدخل Microsoft Azure

يمكنك إنشاء تجمع مرن في مدخل Microsoft Azure بطريقتين:

  • قم بإنشاء تجمع مرن وحدد خادماً موجوداً أو جديداً.
  • قم بإنشاء تجمع مرن من خادم موجود.

لإنشاء تجمع مرن وتحديد خادم موجود أو جديد:

  1. قم بالانتقال إلى مدخل Azure لإنشاء تجمع مرن. قم بالبحث عن وحدد Azure SQL.

  2. حدد Create لفتح جزء Select SQL deployment option. لعرض مزيد من المعلومات عن المجمعات المرنة، في لوحة قواعد البيانات، حدد Show details.

  3. في لوحة قواعد البيانات، في القائمة المنسدلة نوع المورد، حدد Elastic pool. ثم حدد "Create".

    Screenshot that shows creating an elastic pool.

لإنشاء تجمع مرن من خادم موجود:

  • انتقل إلى خادم موجود وحدد New pool لإنشاء مستودع مباشرة في ذلك الخادم.

ملاحظة

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

يحدد مستوى خدمة التجمع الميزات المتوفرة للمرونة في التجمع، والحد الأقصى من الموارد المتاحة لكل قاعدة بيانات. لمزيد من المعلومات، راجع حدود الموارد للتجمعات المرنة في نموذج DTU. من أجل الحصول على حدود الموارد المستندة إلى vCore للتجمعات المرنة، راجع حدود الموارد المستندة إلى vCore - تجمعات مرنة.

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

بعد تكوين التجمع، حدد Apply، وقم بتسمية التجمع، وحدد OK لإنشاء التجمع.

مراقبة تجمع مرن وقواعد البيانات الخاصة به

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

يمكنك استخدام مراقبة الأداء وأدوات التنبيه المدمجة مع تقييمات الأداء. يمكن لقاعدة بيانات SQL أيضاً إرسال القياسات وسجلات الموارد لتسهيل المراقبة.

دراسات حالات العملاء

  • SnelStart: استخدمت SnelStart مجموعات مرنة مع قاعدة بيانات SQL لتوسيع خدمات أعمالها بسرعة بمعدل 1000 قاعدة بيانات SQL جديدة شهرياً.
  • Umbraco: تستخدم Umbraco مجموعات مرنة مع قاعدة بيانات SQL لتوفير الخدمات وتوسيع نطاقها بسرعة لآلاف المستأجرين في السحابة.
  • Daxko / CSI: تستخدم Daxko / CSI مجموعات مرنة مع قاعدة بيانات SQL لتسريع دورة التطوير وتحسين خدمات العملاء وأدائها.

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