توفير أفضل الممارسات لقاعدة بيانات Cosmos DB

مكتمل

تُقسم بيانات قاعدة بيانات Cosmos DB تقسيمًا منطقيًا وماديًا. من المهم أن نفهم التقسيم لتحقيق الأداء الأمثل.

أنت في مرحلة متقدمة من التخطيط للترحيل إلى قاعدة بيانات Cosmos DB. تريد التأكد من أن النظام الذي تم ترحيله يعمل بشكل مثالي لما ستتكبده من تكاليف. تريد التأكد من أن الحمل مُوزع بالتساوي عن طريق تخطيط أقسام البيانات منطقيًا وماديًا بعناية.

ستتعلم هنا كيفية استخدام الأقسام لإنشاء تصميم فعال لقاعدة البيانات.

الأقسام المنطقية

القسم المنطقي عبارة عن مجموعة من العناصر لها نفس مفتاح التقسيم. يمكنك تعريف مفتاح التقسيم عند إنشاء مجموعة في "مُستكشف البيانات" وتحديد مفتاح التقسيم أو مفتاح Shard (اعتمادًا على API). مع واجهة برمجة التطبيقات Cassandra، مفتاح التقسيم هو المفتاح الأساسي. مع Table API، يُعرف مفتاح التقسيم عند إضافة كل صف.

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

الأقسام المادية

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

الأقسام الساخنة

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

على الرغم من أنه لا يمكنك مُباشرة تكوين أقسام مادية، فإن مفتاح التقسيم المنطقي سيكون له تأثير لأن الأقسام المنطقية لا تُقسم عبر الأقسام المادية. على سبيل المثال، أنت شركة رحلات في جميع أنحاء أوروبا، وأنشأت قسمًا منطقيًا استنادًا إلى نوع العطلة. في الصيف، أكثر من 50٪ من الاستعلامات تكون للشاطئ. في فصل الشتاء، أكثر من 50٪ من الاستعلامات تكون للتزلج. باستثناء الأشهر المُعتدلة، تصل جميع الاستعلامات تقريبًا إلى قسم منطقي واحد فقط، ومن ثمَّ، قسم مادي واحد.

اختيار مفتاح التقسيم

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

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