سؤال

في تطبيق إعداد التقارير، هل من الممكن مجردة منطق الإبلاغ وتفاصيل مخطط قاعدة البيانات؟

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

هل هو قرار حكيم لاستخدام طبقة خدمات الويب / WCF في الوسط؟ ماذا يمكن اعتبار الخيارات الأخرى؟

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

المحلول

سيكون من الصعب القيام بهذا النوع من الأشياء في كل حجم واحد في الحالة العامة ولكن يمكنك تجربة واحدة من هذه:

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

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

    تتمثل الميزة الرئيسية لمستودع البيانات في أنه تم تحسين الإبلاغ ولديه واجهة ثابتة عبر جميع مصادر البيانات - يمكنك دمجها في قاعدة بيانات واحدة بمخطط واحد. يتم تطوير التقارير ضد هذا المخطط. يتم تحقيق إضافة أنظمة جديدة من خلال كتابة عملية ETL لملء المستودع؛ تواصل التقارير العمل بغض النظر عن مصدر البيانات.

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

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

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

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

نصائح أخرى

وأنا أتفق مع اقتراح مستودع بيانات NXC:

  • إذا كانت مهمة لمرة واحدة، لا، ولكن نظرا لأن تطبيق "إعداد التقارير"، فمن المحتمل للغاية أن تتناسب العديد من تقاريرك في نموذج OLAP.
  • من الواضح أنه مهمة قادرة، حيث توجد العديد من أدوات الاستعلام الناجحة OLAP المتوفرة في السوق، مع اختلاف تحلل من التعقيد
  • شماس أولاب، على سبيل المثال، المعيار مخطط ستار, ، نكون صمم لتكون سهلة الاستعلام. إنها مسطحة في الطبيعة، مع الانضمام جدول الحقائق إلى طاولات بعدة واحدة أو أكثر باستخدام مفاتيح بسيطة بطريقة واضحة للغاية.
  • أنواع العمليات التي سترغب فيها الأشخاص الذين يرغبون في القيام بالتقارير يمكن التنبؤ بها: مرشح أو فرز أو مجموعة من قبل أو إضافة أو إزالة الأعمدة والتصدير إلى CSV، إلخ.
  • سوف تحصل على مستوى جيد من المرونة مع التقارير التي تنتج عنها - القدرة على استكشاف البيانات الخاصة بالعلاقات المختلفة هي الإدمان للغاية
  • بمجرد كتابة أداة الاستعلام، فإنه محمول لإعادة استخدامه مع أي مخطط نجوم آخر - ليس سيئا!
  • "هل من الممكن مجردة منطق الإبلاغ وتفاصيل مخطط قاعدة البيانات؟" - نعم، تخطيطات OLAP هي بالضبط هذا - أنها تجعل جميع البيانات تتوافق مع مخطط موحد. بالطبع يتحرك هذا المنطق التجاري في طبقة ETL، لكنني سأجادل بأن المكان الذي ينتمي إليه.

لذلك، يجب عليك القيام ETL مع هذا النهج - خيار واحد هو القيام بشدة روولاب, ، ولكن في الممارسة العملية، لقد وجدت أنه من السهل كتابة البرامج النصية ETL كما هو الحرف الأداء الجيد من إعداد Rolap.

الإجابة التي أعتقد أنها ستعود عموما لدغةك في الخلف، ولكن أن الآخرين الذين أعرفهم، هو إنتاج البيانات ك XML من كل قاعدة بيانات. يمنحك مجموعة ثابتة من البيانات في شكل يمكن أن تتعامل معظم المنتجات بسهولة.

إذا قمت بذلك، فتأكد من أن استعلامات XPath التي ستديرها ستكون سريعة.

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