نموذج تطبيقات المعاملات عالية الإنتاجية في Azure Cosmos DB ل PostgreSQL

ينطبق على: Azure Cosmos DB ل PostgreSQL (مدعوم بملحق قاعدة بيانات Citus إلى PostgreSQL)

عامل التصفية الشائع كمفتاح تقسيم

لاختيار مفتاح الجزء لتطبيق معاملات ذات معدل نقل عالي، اتبع الإرشادات التالية:

  • اختر عموداً يُستخدَم لعمليات البحث عن النقاط وهو موجود في معظم عمليات الإنشاء والقراءة والتحديث والحذف.
  • اختر عمودا يمثل بعدا طبيعيا في البيانات، أو قطعة مركزية من التطبيق. على سبيل المثال:
    • في حمل عمل IOT، device_id هو عمود توزيع جيد.

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

نموذج البيانات الأمثل للتطبيقات ذات معدل النقل العالي

فيما يلي مثال على نموذج بيانات نموذجي لتطبيق IoT الذي يلتقط بيانات تتبع الاستخدام (بيانات السلسلة الزمنية) من الأجهزة. هناك جدولان لتسجيل بيانات تتبع الاستخدام: devices وevents. قد تكون هناك جداول أخرى، ولكنها غير مشمولة في هذا المثال.

رسم تخطيطي لجدول الأحداث والأجهزة، وأقسام الأحداث.

عند إنشاء تطبيق ذي معدل نقل عالي، ضع في اعتبارك بعض التحسين.

  • توزيع جداول كبيرة على عمود شائع يمثل جزءاً مركزياً من التطبيق، والعمود الذي يستعلمه تطبيقك في الغالب. في المثال الوارد أعلاه لتطبيق IOT، device_id هو هذا العمود، ويتعاون في تحديد موقع الأحداث وجداول الأجهزة.
  • يمكن أن تكون بقية الجداول الصغيرة جداول مرجعية.
  • نظراً لأن تطبيقات IOT لها بعد زمني، قسّم الجداول الموزعة استناداً إلى الوقت. يمكنك استخدام Azure Cosmos DB الأصلي لإمكانيات السلسلة الزمنية PostgreSQL لإنشاء الأقسام وصيانتها.
    • يساعد التقسيم على تصفية البيانات بكفاءة للاستعلامات باستخدام عوامل تصفية الوقت.
    • تنتهي صلاحية البيانات القديمة أيضاً بسرعة، باستخدام الأمر DROP مقابل DELETE.
    • يتم تقسيم جدول الأحداث في مثالنا حسب الشهر.
  • استخدم نوع بيانات JSONB لتخزين البيانات شبه المنظمة. عادةً ما تكون بيانات تتبع استخدام الجهاز غير منظمة، ولكل جهاز مقاييسه الخاصة.
    • في مثالنا، يحتوي جدول الأحداث على عمود detail، وهو JSONB.
  • إذا كان تطبيق IoT يتطلب ميزات جغرافية مكانية، يمكنك استخدام ملحق PostGIS، الذي يدعمه Azure Cosmos DB ل PostgreSQL في الأصل.

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

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