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

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

سؤال

عند تصميم إطار عمل مؤسسي جديد قائم على J2EE، هل يجب علي الاستعداد للموقف الذي يتعين فيه على وحدات الأعمال المنفصلة استخدام قواعد بيانات مختلفة ويجب تشغيلها على مثيلات خادم التطبيقات المختلفة؟

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

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

شكرا على الردود!

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

المحلول

لست متأكدًا من أنني فهمت هذه الصياغة بشكل صحيح

حيث يتعين على وحدات الأعمال المنفصلة استخدام قواعد بيانات مختلفة

طوال الوقت.

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

هل تقصد بائعي قاعدة بيانات مختلفين؟إصدارات قواعد البيانات، مثل Oracle vX وOracle vY؟حتى في ظل هذا التعريف، لا يمكنني التفكير في أي عملاء قابلتهم والذين قاموا بمعايير بائع واحد أو إصدار واحد عالميًا.

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

هل أتوقع أن تنظر بعض الوحدات في قاعدتي بيانات، نعم.البيانات المرجعية في واحدة تعيش في أخرى.التاريخ في مكان آخر.

وحدات مختلفة على خوادم مختلفة - نعم.لأسباب العزلة وقابلية التوسع.هذا شيء واحد تقوم به خوادم التطبيقات بشكل جيد.

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

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

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