كيفية فصل طبقة التكامل ومستودع البيانات ماديًا/منطقيًا وهل ذلك ضروري؟

StackOverflow https://stackoverflow.com//questions/25085968

سؤال

على خادم DWH الاختباري الخاص بنا، نستخدم Vertica Community Edition.نحن سعداء جدًا بأداء عملية ETL والاستعلامات.

نقوم باستيراد البيانات من مصادر قليلة (Informix، SQL Server، MySQL، Google Docs) ووضعها في مخطط واحد، مع البادئة اسم العملية التجارية_stage_

في نهاية عملية ETL هناك العديد من الجداول التي تسمى bussinessProcessName_fact و bussinessProcessName_dim_dimName وقليل shared_dim_dimName.

هل هناك حاجة لفصل تلك الجداول في مخطط مختلف، أو ربما قاعدة بيانات مختلفة؟نفس السؤال يتعلق بسوق البيانات داخل DWH.

نحن نستخدم المخطط النجمي في الغالب، ونستخدم المخطط العرضي عدة مرات، كما يوجد سوق بيانات واحد مصمم على شكل جدول مسطح.

هل كانت مفيدة؟

المحلول

تستخدم معظم أنظمة قواعد البيانات مستوى قاعدة البيانات باعتباره أعلى تسلسل هرمي منطقي.ومع ذلك، تسمح Vertica بتشغيل قاعدة بيانات واحدة فقط في وقت واحد.وهذا يعني أن التصميم المنطقي يحدث على مستوى المخطط.على سبيل المثال، قد يحتوي نظام قاعدة البيانات التقليدي على قواعد بيانات مثل customers و orders.في Vertica، سيتم تحديد هذه العناصر على مستوى المخطط.

يختلف التنظيم المنطقي واصطلاح التسمية بين المنظمات.ما يهم هو أنه قياسي ويستخدم باستمرار.قد ترغب في إلقاء نظرة على ما يتناسب معًا بشكل منطقي، وتجميع الجداول وفقًا لذلك.على سبيل المثال، يمكن أن يكون لكل اسم عملية عمل مخطط خاص به (business_process_name.fact_table).من الأفضل أن تكون واضحًا بدلاً من استخدام مخطط واحد، حتى لو كان لديك عدد قليل من الجداول.إذا قمت بإضافة جداول إضافية في المستقبل، فسيكون من الأسهل إدارتها.

فائدة أخرى لاستخدام المخططات ستكون للإدارة.عند إجراء عمليات النسخ الاحتياطي أو مهام الصيانة، يمكن تنفيذها على مستوى المخطط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top