تحويل عدد vCores أو vCPUs في قاعدة البيانات غير ارتباطية إلى Azure Cosmos DB RU/s

ينطبق على: NoSQL

ينطبق على: MongoDB

توضح هذه المقالة كيفية تقدير طلب وحدات (RU/s) Azure Cosmos DB عندما تُفكر في ترحيل البيانات ولكن كل ما تعرفه هو إجمالي عدد vCore أو vCPU في قاعدة البيانات الموجودة مجموعة النسخ المتماثلة (مجموعات). عند ترحيل مجموعة متماثلة أو أكثر إلى Azure Cosmos DB، ستُخزن كل مجموعة موجودة في مجموعات النسخ المتماثلة هذه كمجموعة Azure Cosmos DB تتكون من مجموعة مُقسمة مع عامل النسخ متماثل 4x. يمكنك قراءة المزيد عن التصميم لدينا في دليل التقسيم والتحجيم. وحدات الطلب هي كيفية توفير سعة معدل النقل لمجموعة؛ يمكنك قراءة دليل وحدات الطلبودليل توفير RU/s لمعرفة المزيد. عند ترحيل مجموعة، يوفر Azure Cosmos DB قطعاً كافية لخدمة وحدات الطلب المُقدمة ويُخزن بياناتك. لذا تقدير RU/s للمجموعات هو خطوة مهمة في فحص حجم ملكية بيانات Azure Cosmos DB المُخططة قبل الترحيل. استناداً إلى تجربتنا مع الآلاف من العملاء، وجدنا أن هذه الصيغة تُساعدنا في الوصول إلى تقدير نقطة بدء RU/s من vCores أو vCPUs:

Provisioned RU/s = C*T/R

  • T: إجمالي vCores و/أو vCPUs في مجموعة (مجموعات) النسخ المتماثلة المُحملّة بالبيانات الموجودة في قاعدة البيانات الحالية.
  • R: عامل النسخ المتماثل لمجموعة (مجموعات) النسخ المتماثلة المُحملّة بالبيانات.
  • C: RU/s الموصى به والمتوفر لكل vCore أو vCPU. هذه القيمة مشتقة من بنية Azure Cosmos DB:
    • C = 600 RU/s/vCore* ل Azure Cosmos DB ل NoSQL
    • C = 1000 RU/s/vCore* ل Azure Cosmos DB ل MongoDB v4.0
    • لا تتوفر حاليا تقديرات C لواجهة برمجة التطبيقات ل Cassandra أو Gremlin أو واجهات برمجة التطبيقات الأخرى

تتوفر قيم C أعلاه. يجب تحديد T من خلال فحص عدد vCores أو vCPUs في كل مجموعة النسخ المتماثلة المُحملّة بالبيانات من قاعدة البيانات الموجودة، والتجميع للحصول على الإجمالي؛ إذا كنت لا تستطيع تقدير T ففكر في اتباع دليلنا لتقدير RU/s باستخدام مخطط سعة Azure Cosmos DB بدلاً من هذا الدليل. يجب ألا يحتوي T على vCores أو vCPUs مُقترنة بخادم توجيه قاعدة البيانات الحالية أو مجموعة التكوين، إذا كانت تحتوي على هذه المكونات.

بالنسبة إلى R، نُوصي بإدخال عامل النسخ المتوسط لمجموعات النسخ المتماثلة لقاعدة البيانات الخاصة بك؛ إذا كانت هذه المعلومات غير متوفرة فإن R=3 هي قاعدة جيدة لعنصر التحكم المُصغر.

تعمل واجهات برمجة تطبيقات Azure Cosmos DB المتداخلة فوق واجهة برمجة التطبيقات ل NoSQL وتنفذ بنياتها الفريدة الخاصة؛ وبالتالي فإن Azure Cosmos DB ل MongoDB v4.0 له قيمة C مختلفة عن واجهة برمجة تطبيقات Azure Cosmos DB ل NoSQL.

مثال العمل: تقدير RU/s لترحيل مجموعة النسخ المتماثلة الفردية

Migrate a replica set with 3 replicas of a four-core SKU to Azure Cosmos DB

فكر في مجموعة متماثلة واحدة مع عامل النسخ المتماثل R=3 استناداً إلى خادم SKU رباعي النواة. إذن

  • T = 12 vCores
  • R = 3

ثم وحدات الطلب الموصى بها لواجهة برمجة تطبيقات Azure Cosmos DB ل NoSQL هي

Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (12 vCores) / (3) = 2,400 RU/s

ووحدات الطلب الموصى بها ل Azure Cosmos DB ل MongoDB هي

Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (12 vCores) / (3) = 4,000 RU/s

مثال العمل: تقدير RU/s عند ترحيل مجموعة من مجموعات النسخ المتماثلة المتجانسة

Migrate a homogeneous sharded replica set with 3 shards, each with three replicas of a four-core SKU, to Azure Cosmos DB

فكر في مجموعة مُقسمة ومنسوخة نسخاً متماثلاً تتألف من ثلاث مجموعات نسخ متماثل لكل مع عامل نسخ متماثل، حيث يكون كل خادم SKU رباعي النواة. إذن

  • T = 36 vCores
  • R = 3

ثم وحدات الطلب الموصى بها لواجهة برمجة تطبيقات Azure Cosmos DB ل NoSQL هي

Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (36 vCores) / (3) = 7,200 RU/s

ووحدات الطلب الموصى بها ل Azure Cosmos DB ل MongoDB هي

Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (36 vCores) / (3) = 12,000 RU/s

مثال العمل: تقدير RU/s عند ترحيل مجموعة من مجموعات النسخ المتماثلة غير المتجانسة

Migrate a heterogeneous sharded replica set with 3 shards, each with different numbers of replicas of a four-core SKU, to Azure Cosmos DB

فكر في مجموعة مُقسمة ومنسوخة نسخاً متماثلاً تتألف من ثلاث مجموعات نسخ متماثلة، فيها كل خادم مُستند إلى SKU رباعي النواة. مجموعات النسخ المتماثلة "غير متجانسة" بمعنى أن كل منها له عامل نسخ متماثل مختلف: 3x و1x و5x على التوالي. النهج الموصى به هو استخدام عامل النسخ المتماثل المتوسط عند حساب وحدات الطلب. إذن

  • T = 36 vCores
  • Ravg = (3+1+5)/3 = 3

ثم وحدات الطلب الموصى بها لواجهة برمجة تطبيقات Azure Cosmos DB ل NoSQL هي

Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (36 vCores) / (3) = 7,200 RU/s

ووحدات الطلب الموصى بها ل Azure Cosmos DB ل MongoDB هي

Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (36 vCores) / (3) = 12,000 RU/s

تلميحات للحصول على تقدير RU/s الأكثر دقة

الترحيل من قاعدة بيانات مُدارة بواسطة السحابة: إذا كنت تستخدم حالياً قاعدة بيانات مُدارة بواسطة السحابة، فغالباً ما تظهر هذه الخدمات المُقدمة في وحدات vCores أو vCPUs (بمعنى آخر، T)، لكن في الواقع، فإن عدد النوى الذي توفره يُحدد قيمة vCores/replica أو قيمة vCPU/replica (T/R) لعقدة R بمجموعة النسخة المتماثلة؛ العدد الحقيقي للنوى هو R مرة أكثر مما قدمته بوضوح. نوصي بتحديد ما إذا كان هذا الوصف ينطبق على قاعدة البيانات الحالية المُدارة بواسطة السحابة، وإذا كان الأمر كذلك فيجب عليك مضاعفة العدد الاسمي لـ vCores أو vCPUs المُقدمة من قِبل R من أجل الحصول على تقدير دقيق لـ T.

vCores مقابل vCPUs: في هذه المقالة نتعامل مع "vCore" و"vCPU" كمرادفين، وبالتالي C لديها وحدات من RU/s/vCore أو RU/s/vCPU، دون اختلاف. لكن من الناحية العملية، قد لا يكون هذا التبسيط دقيقاً في بعض المواقف. قد يكون لهذه المصطلحات معاني مختلفة؛ على سبيل المثال، إذا كانت وحدات المعالجة المركزية الفعلية تدعم الكتابة الفائقة، فمن الممكن أن يكون 2 vCPU = 1 vCore w/HT أو شيء آخر. بشكل عام، تعتمد العلاقة بين vCore/ وvCPU على الأجهزة، ونُوصي بالتحقق من العلاقة على أجهزة المجموعة الحالية لديك، وتوفُر حساب المجموعة بالنسبة لـ vCores أو vCPUs. إذا vCPU وvCore لهما معاني مختلفة على أجهزتك، ثم نوصي بالتعامل مع التقديرات أعلاه من C على أنها تحتوي على وحدات من RU/s/vCore، وإذا لزم الأمر تحويل T من vCPU إلى vCore باستخدام عامل التحويل المناسب لجهازك.

الملخص

تقدير RU/s من vCores أو vCPUs يتطلب جمع معلومات حول إجمالي vCores/vCPUs وعامل النسخ المتماثل من مجموعة النسخ المتماثلة لقاعدة البيانات الحالية (مجموعات). ثم يمكنك استخدام العلاقات المعروفة بين vcores/vCPUs ومعدل النقل لتقدير وحدات طلب Azure Cosmos DB (RU/s). سيكون العثور على تقدير وحدة الطلب هذا خطوة مهمة في توقُع حجم بيانات Azure Cosmos DB بعد الترحيل.

يلخص الجدول أدناه العلاقة بين vCores وvCPUs لواجهة برمجة تطبيقات Azure Cosmos DB ل NoSQL وواجهة برمجة التطبيقات ل MongoDB v4.0:

وحدات vCore RU/s (API for NoSQL)
(عامل النسخ المتماثل = 3) (rep. factor=3)
RU/s (واجهة برمجة تطبيقات لـ MongoDB v4.0)
(عامل النسخ المتماثل = 3) (rep. factor=3)
3 600 1000
6 1200 2000
12 2400 4000
24 4800 8000
48 9600 16000
96 19200 32000
192 38400 64000
384 76800 128000

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