سؤال

سؤال عن كاساندرا

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

كنت تحت الانطباع بأنه لا يوجد شيء أسرع من C/C ++ ، وأن محرك قاعدة البيانات لا ينبغي أن يكون أبطأ من سرعة الحد الأقصى ، وبالتأكيد لا يستخدم جمع القمامة ...

هل يمكن لأي شخص أن يشرح لي ما هو المعنى المحتمل الذي يجعله / لماذا يمكن أن يكون كاساندرا أسرع من SQL العادي الذي يعمل على رمز C / C ++؟

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

كنت أكثر مقارنة/أشير إلى "عدم وظيفي" (بعبارة معتدل) برنامج ضريبة Java الذي كنت أستخدمه في وقت كتابة هذا التقرير (أو بدلاً من ذلك كنت أرغب في استخدامه).

في الواقع ، بخلاف استخدام Java للبرامج الضريبية ، فإن استخدام Java لكتابة برنامج خادم مخصص أمر منطقي تمامًا.

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

المحلول

أستطيع أن أرى بعض الأسباب:

  • الأمان: من الأسهل كتابة برامج آمنة في Java مقارنة بـ C ++ (تذكر تدفقات المخزن المؤقت؟)
  • الأداء: ليس الأمر أسوأ. إنه بالتأكيد أسوأ في بدء التشغيل ، ولكن بمجرد تشغيل الكود ، ليس شيئًا كبيرًا. في الواقع ، عليك أن تتذكر نقطة مهمة هنا: تم تحسين رمز Java باستمرار بواسطة VM ، لذلك في بعض الحالات ، يصبح أسرع من C ++

نصائح أخرى

ماذا تقصد ، C ++؟ ستكون التجميع المشفر باليد أسرع إذا كان لديك بضعة عقود لتجنيبها.

لماذا بحق الجحيم على الأرض يكتب أي شخص محرك قاعدة بيانات في جافا؟

يعد Independance Platform عاملًا كبيرًا جدًا للخوادم ، لأن لديك الكثير من الأجهزة ونظام التشغيل غير المتجانسة من أجهزة الكمبيوتر المكتبية. آخر هو الأمن. عدم القلق بشأن الفائض المخزن المؤقت يعني أن معظم أسوأ ثقوب الأمن مستحيلة ببساطة.

كنت تحت الانطباع بأنه لا يوجد شيء أسرع من C/C ++ ، وأن محرك قاعدة البيانات لا ينبغي أن يكون أبطأ من سرعة الحد الأقصى ، وبالتأكيد لا يستخدم جمع القمامة ...

انطباعك غير صحيح. C/C ++ ليس بالضرورة أسرع من Java ، ولديهم جامعي القمامة الحديثة دور كبير في ذلك لأنهم يمكّنون إنشاء الكائنات من أن يكون سريعًا بشكل لا يصدق.

لا تنسى أن Java VMs تستخدم محركًا في الوقت المناسب (JIT) الذي يؤدي تحسينًا أثناء التنقل لجعل Java مماثلة لـ C ++ من حيث السرعة. مع الأخذ في الاعتبار أن Java هي لغة مثمرة (على الرغم من الرافضين) والمحمولة ، إلى جانب قدرة تحسين JIT ، يعني أن Java ليس خيارًا غير معقول لشيء مثل هذا.

إن عقوبة الأداء لـ Java Runtimes الحديثة ليست كبيرة والبرمجة في Java أقل عرضة للخطأ من C.

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