إيجابيات وسلبيات إنشاء التطبيقات باستخدام أنظمة قواعد البيانات الخاصة

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

  •  05-07-2019
  •  | 
  •  

سؤال

لقد كنت مهتما 4D ساسمنتج قاعدة البيانات لفترة طويلة، على الرغم من أنه بالكاد تم لمسه منذ دهور.

عند النظر في الأدوات التي يجب استخدامها لتطوير التطبيقات، خاصة تلك التي تتطلب مكون قاعدة بيانات، ما الذي يجب البحث عنه عند النظر في الأدوات مفتوحة المصدر مثل MySQL وPostgreSQL مقابل الحلول الاحتكارية مثل 4D أو Pervasive SQL؟

ما هي التجارب الجيدة (والسيئة!) التي مر بها مجتمع SO مع أدوات قاعدة البيانات المختلفة مثل 4D، وPervasive، وFilemakerPro، وما إلى ذلك؟

أي تجارب سيئة؟

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

المحلول

4D هو نظام قاعدة بيانات خاص بنظام التشغيل MacOS/Windows فقط، مع كل من الأنواع المستقلة وClient-Server.من الأفضل مقارنته ببرنامج Alphafive.com الذي يعمل بنظام Windows فقط.لقد عملت معه لمدة 17 عامًا وقد خدمني وخدم قسمي بشكل جيد للغاية.من أعلى رأسي...

الايجابيات:

  1. ترتبط الواجهة والتعليمات البرمجية ارتباطًا وثيقًا بمحرك البيانات مما يجعل تطوير واجهات المستخدم الغنية عبر الأنظمة الأساسية سريعًا وسهلاً للغاية.
  2. يعمل محرك البيانات العلائقية الخاص أصلاً على كلا النظامين الأساسيين، جنبًا إلى جنب مع واجهات العميل الأصلية (ولكنه يتطلب تراخيص لمستخدمين متعددين).العلاقات التلقائية مفيدة (لكنها في بعض الأحيان تعيق الطريق).
  3. يمكن الوصول إلى الأنظمة الخارجية عبر برامج تشغيل SOAP وODBC وSQL (محدودة).
  4. يمكن الوصول إلى 4D من أنظمة خارجية عبر SOAP أو طلبات http وصفحات الويب.
  5. لغة برمجة إجرائية أصلية مبنية على لغة باسكال وسهلة التعلم.
  6. أداة ممتازة للأقسام الصغيرة والمتوسطة الحجم.
  7. يقبل الإصدار الأحدث مجموعة فرعية من أوامر SQL والوصول إلى البيانات الأصلية، لذا فإن سجل التوافق مع الإصدارات السابقة كان جيدًا جدًا.
  8. الأمان سهل في 4D.
  9. يمكنك إنشاء حلول للنشر من خلال مجموعة متنوعة من الوسائل، ولا تقتصر على ما إذا كان MS Access مثبتًا أم لا.

سلبيات:

  1. ترتبط الواجهة والتعليمات البرمجية ارتباطًا وثيقًا بمحرك البيانات مما قد يؤدي إلى استخدام محدود للتجريد وترميز "الصندوق الأسود" ما لم تجعله هدفًا لتطويرك.
  2. يتم تجميعه في ملف هيكلي متجانس واحد مما يفرض إعادة التشغيل لإجراء إصلاحات فردية.
  3. لا تزال اللغة إجرائية فقط، مما يجعل من الصعب على المبرمجين الموجهين للكائنات قبولها.تتطلب كل طريقة "ملفًا" منفصلاً رباعي الأبعاد، لذا لا يمكنك تضمين أكثر من وظيفة أو إجراء واحد في روتين واحد - سيستغرق الأمر بعض الوقت للتعود عليه.
  4. في حين أن الشركة تبدو في حالة جيدة، وتنمو وتتطور، إلا أنك ببساطة لا تعرف أبدًا لأنهم يحتفظون بحالتهم لأنفسهم.
  5. لم تقم الشركة أبدًا بتسويق نفسها حقًا - فهي تثق في قاعدة المطورين الخاصة بها لنشر الكلمة وتنمية المنتج من خلال عمليات نشر الموقع وتحديث المنتج.من الواضح أن موقع الويب مفيد فقط للمطورين الذين يستخدمون المنتج بالفعل - فهو ببساطة يفشل في جذب مستخدمين جدد.
  6. يبدو دائمًا أن ترقيات المنتج تركز على كيفية جعل الأداة أفضل للمطورين وليس لعملاء هؤلاء المطورين.
  7. يفتقر SQL إلى طرق العرض والفهارس المركبة وميزات SQL الشائعة الأخرى.
  8. عندما يطلب مستخدم تقريرًا عن أعمدة معينة من البيانات، غالبًا ما يتعين علي كتابة برنامج آخر فقط لتوفير تلك البيانات المحددة - لا يمكنني دائمًا الاستعلام عن البيانات وإنشاء ملف نصي فقط.
  9. لا يتعامل مع إصدارات نظام التشغيل الجديدة بسهولة تقريبًا مثل التطبيقات المستندة إلى متصفح الويب.الإصدار الأقدم معطل في نظام التشغيل Mac OS 10.6، ويتطلب الإصدار الأحدث أحدث إصدار من نظام التشغيل Mac OS 10.6.لم يتم اعتماد أي إصدار حتى الآن لنظام التشغيل Windows 7.

لقد أمضيت ما يقرب من عام في تعلم ASP.NET وبضعة أسابيع في Ruby on Rails.على الرغم من أن مخازن بيانات SQL سهلة، إلا أن واجهة المستخدم صعبة - ولكنها تستحق العناء عندما يستمر تطبيقك في العمل من خلال ترقيات نظام التشغيل.يمكنك دائمًا استخدام متصفح أقدم إذا كان الإصدار الأحدث يعطل شيئًا ما.

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

نصائح أخرى

ولكن من الصعب تقديم قائمة ذات الصلة من إيجابيات وسلبيات دون سياق.

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

والجواب هو مختلفة من نظام إلى نظام.

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

وسأقول شيئا واحدا فقط .. ووتش تكلفة "الفعلية" من قرارك .. معظم نظم قواعد البيانات الملكية هي ويندوز فقط .. أو في بعض الأحيان ماك / ويندوز فقط.

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

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

وذلك أساسا، مقارنة الملكية مع البرمجيات مفتوحة المصدر واتخاذ قرار واحد على أن تأخذ على مجموع التسعير (بما في ذلك OS) ومجموعة ميزة ..

  • Pro للتركيز على أي قاعدة بيانات:فهو يتمتع بميزات جيدة غير محمولة تساعدك على إنجاز الأمور
  • سلبيات التركيز على أي قاعدة بيانات:في بعض الأحيان تكون قاعدة بيانات مختلفة مناسبة (على سبيل المثال، تشغيل اختباراتك باستخدام مثيلات SQLite في الذاكرة)، ولكن هذا الخيار مغلق الآن
  • سلبيات قاعدة البيانات التجارية الخاصة:إذا كنت بحاجة إلى العديد من الحالات، فإن تكاليف الترخيص يمكن أن تقتلك

فكر في الأسئلة التالية:

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

لقد وجدت النقطة الأخيرة مفيدة بشكل خاص في أول وظيفة لي بدوام كامل.كان عميلنا يستخدم CA-Ingres، ولم يكن أحد في الشركة يعرف ذلك جيدًا بما يكفي لكتابة استعلامات للتحقق من صحة البيانات.لذلك توصلت إلى فكرة تصدير البيانات من Ingres واستيرادها إلى MS SQL Server (والتي كنت أعرفها خلال فترة قصيرة في Sybase Professional Services) حتى نتمكن من كتابة استعلامات التحقق الخاصة بنا هناك.إذا كان من الصعب حقًا تصدير البيانات من Ingres، فلن تكون فكرتي خيارًا على الإطلاق.

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

و4D هو خيار جيد للتطبيقات vertial. لقد عملت لإحدى الشركات التي تستخدم 4D لبناء السجلات الطبية وتطبيق الفوترة لالممارسين العامين والمتخصصين. تصميم ونشر ميزات السريع ل4D مكنت تطبيق على التحرك بسرعة مع رغبات السوق والتغيرات المشرعة إلى السجل الطبي storage.The البيئة نفسها لم تكن المتطورة، ولكنها كانت متكاملة، عبر منصة ومثمرة للغاية.

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

وفي نقاط مختلفة في مسيرتي، لقد استعملت وحصلت على جيد جدا في فايل ميكر برو، FoxPro أو 4D، وعدد قليل من المنتجات التجارية. الآن أنا أساسا استخدام PHP / MySQL، و لم تستخدم أحدث الإصدارات من أي من المنتجات.

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

و4D و FoxPro وجدت دائما بحاجة لقدر معين من برمجة إضافية و / أو المعرفة قاعدة بيانات لحقا أي شيء معها. 4D وفايل ميكر هي أنظمة قائمة بذاتها كاملة حقا، وليس نظم قواعد البيانات فقط. وعلى الرغم من أنهم جميعا لديهم القدرة على ربط إلى غيرها من نظم قواعد البيانات الخلفية (أي الخلية، أوراكل)، وهذا ليس وجهة نظرهم قوية.

في الجانب السلبي، والقيام أكثر تعقيدا، والأنظمة الديناميكية يمكن أن يكون صعبا في 4D وبرنامج Filemaker بسبب كل ما يجري بإحكام. بسبب تكلفتها، كنت حقا تريد أن إنشاء أنظمة متعددة معهم. مما يعني أنك بحاجة إلى حقا "شراء إليها" للحصول على قيمة أموالك.

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

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

والسبب الرئيسي الآخر لتبني حل مغلقة جدا هو الدعم القديمة. تصرف واحد من المنتجات التي استشهد (SQL تفشي) كميناء أي جهد للتطبيقات المستندة إلى BTrieve في أواخر 90s، واكتسب شعبية وذلك بفضل المجتمع BTrieve ضخمة في جميع أنحاء العالم.

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

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

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

وليس لدي أي خبرات مع المنتجات قاعدة بيانات الملكية لك المدرجة: 4D، تفشي، FilemakerPro.

وسأكون مهتما بمعرفة ما تقدمه تلك المنتجات التي جعلها أكثر جاذبية بالنسبة لك من البدائل مفتوحة المصدر، كنت المدرجة: MySQL و كيو.

وسأكون مهتما بما يجعل تلك أكثر جاذبية بالنسبة لك من البدائل الملكية أكثر شعبية بكثير: أوراكل، SQL Server و DB2، الخ

وبدونك تقديم المزيد من التفاصيل، فإنه من الصعب لتقديم المشورة لك.

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

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

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