سؤال

نحن نعمل على إنشاء مستودع بيانات لأحد البنوك واتبعنا إلى حد كبير نموذج Kimball القياسي للجداول المرحلية والمخطط النجمي وETL لسحب البيانات خلال العملية.

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

لقد ميزت الأنظمة السابقة التي عملت عليها بين مجموعات الجداول المختلفة، إلى حد وجود:

  • تحميل الجداول:بيانات نظام المصدر الخام، غير معدلة
  • طاولات التدريج:معالجة وسيطة، مكتوبة وتطهيرها
  • طاولات المستودعات

يمكنك لصقها في مخططات منفصلة ثم تطبيق سياسات مختلفة للأرشفة/النسخ الاحتياطي/الأمان وما إلى ذلك.أحد الرجال الآخرين عمل في مستودع حيث يوجد StagingInput و أ التدريجOutput, قصة مماثلة.يتمتع الفريق ككل بخبرة كبيرة، سواء في مجال مستودعات البيانات أو غير ذلك.

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

في حين أنه من الواضح جدًا كيفية القيام بذلك إذا أردنا إضافة المزيد من البنية إلى منطقة العرض، إلا أنه يبدو غريبًا جدًا أنه لا يوجد شيء مكتوب عنها.

إذًا، ما الذي يفعله الآخرون هناك؟هل العرض مجرد هذه الفوضى الكبيرة غير المنظمة أم أن لدى القوم بعض التصميمات المثيرة للاهتمام عليها؟

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

المحلول

لقد واجهت نفس المشكلة.لدينا مستودع بيانات كبير للموارد البشرية وأنا أقوم بسحب البيانات من الأنظمة في جميع أنحاء المؤسسة.لدي مجموعة رائعة من جداول الحقيقة والأبعاد، لكن منطقة العرض في حالة من الفوضى.لا أعرف أي معايير لتصميم هذا.سأتبع نفس المسار الذي تتبعه وأتوصل إلى مجموعة قياسية من الأسماء للحفاظ على ترتيب الأمور.اقتراحك جيد جدًا بالنسبة للتسمية.سأواصل العمل مع ذلك.

نصائح أخرى

مجرد ملاحظة، هناك كتاب يسمى "مجموعة أدوات ETL لمستودع البيانات" من تأليف راف كيمبال وجو كاسيرتا، لذا يا سيد.لقد بذل Kimball بعض الجهد في هذا الأمر.:)

نحن نعمل على مشروع كبير للتأمين DWH في الوقت الحالي، وهو معقد بعض الشيء، ولكن يتم وضع كل جدول من جداول النظام المصدر في مخطط منفصل في قاعدة بيانات STAGING، ثم لدينا ETL الذي ينقل/ينظف/يطابق (MDM) البيانات من قاعدة البيانات المرحلية إلى قاعدة بيانات STAGINGCLEAN، ثم ETL الإضافي الذي ينقل البيانات إلى Kimball DWH.

نجد أن الفصل بين قاعدة بيانات Staging وStagingClean مفيد جدًا في تشخيص المشكلات خاصة فيما يتعلق بجودة البيانات، حيث لدينا بيانات مرحلية قذرة بالإضافة إلى النسخة المنظفة قبل تحويلها إلى DWH بشكل صحيح.

يمكن أن تكون هناك مناطق فرعية في التدريج.يسمى التدريج 1، التدريج 2، على سبيل المثال.

يمكن أن يكون التدريج 1 عبارة عن سحب مباشر من مصادر البيانات دون أي تحويل.ويحتفظ Staging1 فقط بأحدث البيانات.

يحافظ Staging2 على تحويل البيانات وجاهزيتها للذهاب إلى المستودع.Staging2 يحتفظ بجميع البيانات التاريخية.

إلقاء نظرة على هذا المنصب هنا.إنه يعطي نظرة عامة جيدة على مسؤوليات منطقة التدريج داخل DW.

يا له من سؤال عظيم.

في الماضي استخدمنا _MIRR (للمرآة) لاحقة للبيانات غير المحولة التي وصلت إلى قاعدة البيانات، أي.إنه يعكس المصدر.ثم نستخدم _STG للبيانات المحولة من المصدر، ثم _DW لمخطط النجمة.

الجداول التدريجية هنا ستكون موجودة 3NF.أعتقد أن هذه هي النقطة الأساسية.يتم إرسال البيانات دون تحويل ويتم الاحتفاظ بها منفصلة عن الخطوة التالية حيث نقوم بتطبيع البيانات بالكامل، قبل تسطيحها بالكامل في مخططنا النجمي لإعداد التقارير.

أنا شخصياً لا أبحث عن المشاكل في كيمبال أو في أي مكان آخر.

ما هو نوع "الهيكل" الذي تبحث عنه؟ما هو نوع "الهيكل" الذي تشعر أنه ضروري؟ما هي المشاكل التي تراها بسبب عدم وجود "الهيكل" لديك اليوم؟

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

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