إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
هام
لم يعد Azure Cosmos DB ل PostgreSQL مدعوما للمشاريع الجديدة. لا تستخدم هذه الخدمة لمشاريع جديدة. بدلا من ذلك، استخدم إحدى هاتين الخدمتين:
استخدم Azure Cosmos DB ل NoSQL لحل قاعدة بيانات موزعة مصمم للسيناريوهات عالية النطاق مع اتفاقية مستوى خدمة توفر 99.999% (SLA) والتحجيم التلقائي الفوري وتجاوز الفشل التلقائي عبر مناطق متعددة.
استخدم ميزة المجموعات المرنة في قاعدة بيانات Azure ل PostgreSQL المجزأة باستخدام ملحق Citus مفتوح المصدر.
تجميع الجداول الكبيرة باستخدام مفتاح القطع
لاختيار مفتاح القطع لتطبيق تحليلات تشغيلية في الوقت الحقيقي، اتبع الإرشادات التالية:
- اختيار عمود شائع في الجداول الكبيرة
- اختر عمودا يمثل بعدا طبيعيا في البيانات، أو قطعة مركزية من التطبيق. بعض الأمثلة:
- في العالم المالي، من المحتمل أن يستخدم التطبيق الذي يحلل اتجاهات الأمان
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...
الخطوات التالية
لقد انتهينا الآن من استكشاف نمذجة البيانات للتطبيقات القابلة للتطوير. الخطوة التالية هي الاتصال والاستعلام عن قاعدة البيانات بلغة البرمجة التي تختارها.