مشاركة عبر


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

هام

لم يعد Azure Cosmos DB ل PostgreSQL مدعوما للمشاريع الجديدة. لا تستخدم هذه الخدمة لمشاريع جديدة. بدلا من ذلك، استخدم إحدى هاتين الخدمتين:

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

لاختيار مفتاح القطع لتطبيق تحليلات تشغيلية في الوقت الحقيقي، اتبع الإرشادات التالية:

  • اختيار عمود شائع في الجداول الكبيرة
  • اختر عمودا يمثل بعدا طبيعيا في البيانات، أو قطعة مركزية من التطبيق. بعض الأمثلة:
    • في العالم المالي، من المحتمل أن يستخدم التطبيق الذي يحلل اتجاهات الأمان security_id.
    • في حمل عمل تحليلات المستخدم حيث تريد تحليل مقاييس استخدام موقع الويب، سيكون user_id عمود توزيع جيد

من خلال تجميع الجداول الكبيرة، يمكنك دفع استعلامات SQL لأسفل إلى العقد العاملة بالتوازي. يؤدي دفع الاستعلامات لأسفل إلى تجنب تبديل البيانات بين العقد عبر الشبكة. يمكن تنفيذ عمليات مثل JOINs، والمجموعات، والتجميعات، وعوامل التصفية، و LIMITs بكفاءة.

لتصور الاستعلامات الموزعة المتوازية على الجداول المجمعة، ضع في اعتبارك هذا الرسم التخطيطي:

رسم تخطيطي لعمليات الانضمام التي تحدث داخل العقد العاملة.

يتم تقسيم الجدولين users و events بواسطة user_id، لذلك توضع الصفوف ذات الصلة لنفس معرف المستخدم معا على نفس العقدة العاملة. يمكن أن يحدث SQL JOINs دون سحب المعلومات بين العقد العاملة.

نموذج البيانات الأمثل للتطبيقات في الوقت الحقيقي

سنواصل معاً بمثال التطبيق الذي يحلل زيارات موقع المستخدم على الويب والمقاييس. هناك جدولان "حقائق" - المستخدمون والأحداث - وجداول "البعد" الأصغر الأخرى.

رسم تخطيطي للمستخدمون، والأحداث وجداول متنوعة.

لتطبيق القوة الفائقة للجداول الموزعة على Azure Cosmos DB ل PostgreSQL، اتبع الخطوات التالية:

  • توزيع جداول الحقائق الكبيرة على عمود مشترك. في حالتنا، يتم توزيع المستخدمين والأحداث على user_id.
  • وضع علامة على الجداول الصغيرة/الأبعاد (device_typesو countriesو'event_types) كجداول مرجعية.
  • تأكد من تضمين عمود التوزيع في قيود المفتاح الأساسي والفريد والخارجي على الجداول الموزعة. قد يتطلب تضمين العمود أن تكون المفاتيح مركبة. هناك حاجة إلى تحديث المفاتيح للجداول المرجعية.
  • عند الانضمام إلى جداول موزعة كبيرة، تأكد من الانضمام باستخدام مفتاح القطع.
-- Distribute the fact tables

SELECT create_distributed_table('users', 'user_id');
SELECT create_distributed_table('products', 'user_id', colocate_with => 'users');

-- Turn dimension tables into reference tables, with synchronized copies
-- maintained on every worker node

SELECT create_reference_table('countries');
-- similarly for device_types and event_types...

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

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