في ضوء هذه التوقعات، ما هي اللغة أو النظام الذي ستختاره لتنفيذ الحل؟[مغلق]

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

  •  19-08-2019
  •  | 
  •  

سؤال

فيما يلي التقديرات التي يجب على النظام التعامل معها:

  • أكثر من 3000 مستخدم نهائي
  • أكثر من 150 مكتبًا حول العالم
  • أكثر من 1500 مستخدم متزامن في أوقات الذروة
  • 10.000+ التحديثات اليومية
  • 4-5 عمليات في الثانية
  • 50-70 معاملة في الثانية (القراءات/البحث/التحديثات)

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

ما هو اختيارك التكنولوجي، ولماذا هذا الاختيار، وكم من الوقت سيستغرق تنفيذه تقريبًا؟شكرًا.

ملحوظة:أنا لا أقوم بالتجنيد.:-)

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

المحلول

لذا، سألت كيف سأتعامل مع مثل هذا المشروع.في عالم Smalltalk، يبدو أن الناس متفقون على أن Gemstone يجعل الأشياء تتسع بطريقة سحرية إلى حد ما.

لذا، ما سأفعله حقًا هو هذا:سأبدأ بالتطوير في صورة صرير بسيطة باستخدام SandstoneDB.ثم تأتي هذه اللحظة التي تبدأ فيها الصورة الواحدة بالبطء الشديد.

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

يقوم بمشاركة البيانات مع C وJava وRuby.

في الواقع، لديهم خاصة بهم VM لروبي, ، والذي يستحق المشاهدة أيضًا.

نصائح أخرى

تدير ويكيبيديا متطلبات أكثر تطلبًا باستخدام MySQL

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

لذا، بدلًا من التركيز على قدرة نظام إدارة قواعد البيانات RDBMS الخاص بك، يجب عليك التركيز على قدرة المبرمجين لديك والدرجة التي تسهل بها لغة التنفيذ والبيئة الخاصة بك عملية التوصيف وإعادة البناء.

من الواضح أن السيناريو الذي تقترحه هو سيناريو 24 × 7 × 365 أيضًا، لذا يجب عليك أيضًا مراعاة الحاجة إلى متطلبات المراقبة / لوحة المعلومات.

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

اختر التكنولوجيا التي يعرفها المطورون لديك ويألفونها.جميع التقنيات الرئيسية الموجودة سوف تتعامل مع هذه المتطلبات بسهولة.

أرقام التحديث اليومية مقابل الالتزامات لا تضيف ما يصل.أربعة ارتكابات في الثانية = 14400 في الساعة.

لم تذكر أي شيء عن حجم قاعدة البيانات المتوقع.

على أية حال، سأركز جهودي على اختيار واجهة خلفية قوية مثل Oracle وSybase وMS وما إلى ذلك.سيحدث هذا الاختيار أكبر فرق في الأداء.يمكن أن تكون الواجهة الأمامية إما تطبيق سطح مكتب أو تطبيق ويب حسب الاحتياجات.وبما أن هذا سيتم استخدامه في العديد من المكاتب حول العالم، فقد يكون تطبيق الويب هو الأكثر منطقية.

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

أنا أحب قواعد بيانات الكائنات.فيما يتعلق بالالتزامات في الثانية وقاعدة البيانات ذهابًا وإيابًا، لا يمكن لأي قاعدة بيانات علائقية أن تصمد.الدفع com.db4o.من السهل جدًا تعلمها، تحقق من الأمثلة!

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

لا توجد معلومات كافية مقدمة هنا لتقديم توصية مناسبة.المزيد من العناية الواجبة في محلها.

  • كيف تبدو ثقافة تكنولوجيا المعلومات؟هل يفضلون عددًا كبيرًا من الخوادم الصغيرة أم عددًا أقل من الخوادم الأكبر أم الأجهزة الكبيرة؟ما هو موقفهم من المحاكاة الافتراضية؟
  • كيف هي ثقافة الشركات؟كيف هو المناخ السياسي؟قد تتعامل العروض مفتوحة المصدر مع العبء بشكل جيد للغاية، ولكن قد تحتاج إلى الذهاب مع بائع خاص لمجرد أنها معتادة بالفعل على التعامل مع الرياح السياسية لشركة كبيرة.الإدراك مهم.
  • ما هو مستوى النضج في المنظمة؟هل لديهم بالفعل الهندسة المعمارية للمؤسسات الفريق في مكانه؟هل يعرفون حتى ما هو EA؟
  • لقد وصفت الجانب التشغيلي ولكن ماذا عن الجانب التحليلي؟ما هي تقنية OLAP التي يتوقعون استخدامها أو الموجودة بالفعل؟
  • بالحديث عن التكامل، ما هي الأنظمة الأخرى التي ستحتاج إلى التكامل معها؟
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top