سؤال

هل تصميم المخطط النجمي ضروري لمستودع البيانات؟أو هل يمكنك القيام بتخزين البيانات بنمط تصميم آخر؟

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

المحلول

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

دون الخوض في التفاصيل الدقيقة لهندسة مستودع البيانات أو بدء لعبة Kimball vs.Inmon Flame war الفوائد الرئيسية لمخطط النجمة هي:

  • تحتوي معظم أنظمة إدارة قواعد البيانات على مرافق في محسن الاستعلام للقيام "بتحولات النجوم" التي تستخدم مؤشر الصورة النقطية الهياكل أوتقاطع المؤشر للحل المسند السريع.وهذا يعني أن التحديد من مخطط النجمة يمكن أن يتم دون الوصول إلى جدول الحقائق (الذي عادة ما يكون أكبر بكثير من الفهارس) حتى يتم حل التحديد.

  • التقسيم يعد المخطط النجمي واضحًا نسبيًا حيث أن جدول الحقائق فقط هو الذي يحتاج إلى التقسيم (ما لم يكن لديك بعض الأبعاد الكبيرة في الكتاب المقدس). القضاء على التقسيم يعني أن مُحسِّن الاستعلام يمكنه تجاهل الطلبات التي لا يمكنها المشاركة في نتائج الاستعلام، مما يوفر على الإدخال/الإخراج.

  • تغيير الأبعاد ببطء يعد تنفيذها على مخطط النجمة أسهل بكثير من تنفيذ ندفة الثلج.

  • المخطط أسهل في الفهم ويميل إلى تضمين عدد أقل من الصلات مقارنة بـ ندفة الثلج أو مخطط E-R.سوف يحبك فريق إعداد التقارير الخاص بك على هذا

  • تعد المخططات النجمية أسهل بكثير في الاستخدام (والأهم من ذلك) أنها تحقق أداءً جيدًا باستخدام أدوات الاستعلام المخصصة مثل الكائنات الأعمال أو منشئ التقرير.باعتبارك مطورًا، فإن لديك سيطرة قليلة جدًا على SQL التي تم إنشاؤها بواسطة هذه الأدوات، لذا تحتاج إلى تقديم أكبر قدر ممكن من المساعدة لمُحسِّن الاستعلام.تمنح المخططات النجمية مُحسِّن الاستعلام فرصة قليلة نسبيًا لتصحيح الأمر.

عادةً ما تستخدم طبقة التقارير الخاصة بك مخططات النجوم ما لم يكن لديك سبب محدد لعدم القيام بذلك.إذا كان لديك أنظمة مصدر متعددة قد ترغب في تنفيذ مخزن البيانات التشغيلية باستخدام مخطط طبيعي أو ندفة الثلج لتجميع البيانات.يعد هذا أسهل لأن نظام الوثائق الرسمية (ODS) لا يقوم عادةً بعمل التاريخ.يتم تتبع الحالة التاريخية في مخططات النجوم حيث يكون القيام بذلك أسهل بكثير من الهياكل الطبيعية.يعكس مخزن البيانات التشغيلية الذي تمت تسويته أو رقاقاته الحالة "الحالية" ولا يحمل عرضًا تاريخيًا يتجاوز أي عرض متأصل في البيانات.

تهتم عمليات تحميل المواد المستنفدة للأوزون بتنقية البيانات ومطابقتها، وهو أمر يسهل القيام به مع البنية المعيارية.بمجرد حصولك على بيانات نظيفة في نظام ODS، يمكن لأحمال الأبعاد والحقيقة تتبع السجل (التغيرات بمرور الوقت) باستخدام آليات عامة أو بسيطة نسبيًا ببساطة نسبية؛يعد القيام بذلك أسهل بكثير باستخدام مخطط النجمة، حيث توفر العديد من أدوات ETL (على سبيل المثال) تسهيلات مدمجة لتغيير الأبعاد ببطء وتنفيذ آلية عامة واضحة نسبيًا.

يؤدي وضع النظام بهذه الطريقة إلى فصل المسؤوليات - حيث يتم التعامل مع منطق تنظيف الأعمال والبيانات في نظام الوثائق الرسمية (ODS) وتتعامل أحمال المخطط النجمي مع الحالة التاريخية.

نصائح أخرى

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

باختصار كيمبال يؤيد بشدة استخدام تصميم Star-Schema فقط في مستودع البيانات، بينما إنمون يريد أولاً إنشاء مستودع بيانات المؤسسة باستخدام تطبيع 3NF التصميم واستخدام تصميم Star-Schema لاحقًا في datamarts.

بالإضافة إلى هنا يمكنك أن تقول ذلك أيضًا تصميم مخطط ندفة الثلج هو نهج آخر.

التصميم الرابع يمكن أن يكون نمذجة مخزن البيانات يقترب.

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

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

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

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

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

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

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

المخطط النجمي هو نموذج بيانات منطقي لقواعد البيانات العلائقية التي تناسب احتياجات تخزين البيانات العادية؛إذا تم توفير البيئة العلائقية، فسيكون مخطط النجمة أو ندفة الثلج نمطًا تصميميًا جيدًا، ومترابطًا في الكثير من منهجيات تصميم DW.

ومع ذلك، هناك محركات أخرى غير محركات قواعد البيانات العلائقية، ويمكن استخدامها لتخزين البيانات بكفاءة.قد تكون محركات التخزين متعددة الأبعاد سريعة جدًا بالنسبة لمهام OLAP (TM1 على سبيل المثال)؛لا يمكننا تطبيق تصميم مخطط النجمة في هذه الحالة.تتضمن الأمثلة الأخرى التي تتطلب نماذج منطقية خاصة قواعد بيانات XML أو قواعد البيانات الموجهة نحو الأعمدة (على سبيل المثال.التجريبية متجر ج)).

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

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

تأكد من أن الإيجابيات تفوق السلبيات..

(هل يبدو أنني كنت هناك من قبل؟)

هناك ثلاث مشاكل نحتاج إلى حلها.

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

2) كيفية دمج البيانات من مصادر متباينة - بعضها قديم، وبعضها قائم على الملفات، من أقسام مختلفة في بيانات متكاملة ودقيقة ومخزنة بكفاءة تشكل نموذجًا للأعمال، ولا تعكس هياكل أنظمة المصدر.تذكر أن الأنظمة تتغير/يتم استبدالها بسرعة نسبية، لكن النموذج الأساسي للعمل يتغير ببطء.

3) كيفية تنظيم البيانات لتلبية متطلبات التحليل وإعداد التقارير المحددة لأشخاص / أقسام معينة في العمل بأسرع ما يمكن وبدقة.

يتطلب حل هذه المشكلات الثلاث المختلفة جدًا طبقات معمارية مختلفة لحلها

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

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

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

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

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