سؤال

أقوم بإنشاء تطبيق يعتمد على قاعدة بيانات، ولدي النية الكاملة لاستخدام ملف ثابت db، هل هناك أي أسباب جدية للابتعاد عن هذا؟

أنا أستخدم المحاكاة (http://mimesis.110mb.com) إنها أبسط من استخدام MySQL ، والتي يجب أن أعترف بها أن لدي خبرة قليلة.أنا أتساءل عن أمان قاعدة البيانات.ولكن يتم تخزين الملفات بتنسيق php ويبدو أنها حل قاعدة بيانات قوي.

تعجبني حقًا سهولة النسخ الاحتياطي ونقل قواعد البيانات، الأمر الذي وجدته أكثر صعوبة مع MySQL.أرى أن الجميع يفضلون طريقة mySQL - ومن المحتمل أن تكون أسرع عندما يتعلق الأمر بالاستعلامات ولكن بخلاف ذلك، هل هناك أي سبب للابتعاد عن قواعد البيانات ذات الملفات الثابتة و(أخيرًا) تعلم mysql بشكل صحيح؟


يحررفقط لإعلام الناس ، انتهى بي الأمر مع MySQL ، وأنا أستخدم إطار عمل Codeigniter.ما زلت أحب الملف الثابت db، ولكنني أدركت الآن أنه أكثر تعقيدًا لهذا المشروع من اللازم.

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

المحلول

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

إذا لم تكن متأكدًا، فربما يمكنك البدء بالملف الثابت.SQLite هو تطبيق رائع للبدء.

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

نصائح أخرى

يستخدم سكليتي, ، تحصل على قاعدة بيانات تحتوي على العديد من ميزات SQL ولكنها في نفس الوقت عبارة عن ملف واحد فقط.

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

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

إذا كنت بحاجة إلى فكرة عن سرعة Mimesis، إذا انتقلت إلى الصفحة الأولى، فسوف تخبرك بالبلد الذي تشاهد منه الموقع.قاعدة البيانات المجانية هذه مأخوذة من موقع ip2nation.com وتم نقلها إلى Mimesis ffdb.لديها مئات إن لم يكن الآلاف من الإدخالات.

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

إذا لاحظت أن الصفحة الرئيسية يتم تحميلها بسرعة كبيرة وتحتوي على نصين برمجيين مكثفين لقاعدة بيانات Mimesis يعملان على الواجهة الخلفية.الطريقة التي يقوم بها Mimesis بتخزين البيانات تتم لتسريع إجراءات القراءة والكتابة وكذلك إجراءات الترجمة.تستخدم معظم البرامج النصية لأمثلة ffdb أو البرامج النصية الأخرى لـ ffdb ملف CVS بسيطًا أو أي بنية أخرى من هذا القبيل لتخزين البيانات.يقوم Mimesis في الواقع بتفسير البيانات الثنائية في بعض المستويات لزيادة وظائفه.يعد Mimesis مزيجًا إلى حد ما بين قاعدة بيانات الملفات المسطحة وقاعدة البيانات العلائقية.

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

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

تحيا الملفات المسطحة والمبرمجون الذين يواجهون الصداع الذي يتبع ذلك.

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

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

أرى أن الجميع يفضلون طريقة MySQL - ومن المحتمل أن يكون أسرع عندما يتعلق الأمر بالاستعلامات

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

بخلاف ذلك ، هل هناك أي سبب للابتعاد عن DBS Flat-File و (أخيرًا) تعلم MySQL بشكل صحيح؟

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

مطلوب إبلاغ أن Mimesis قد انتقل من عنوان URL الأصلي إلى http://mimesis.site11.com/

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

التوافقية.يمكن ربط MySQL بشكل أساسي بأي لغة مهمة.من غير المرجح أن يكون التقليد قابلاً للاستخدام خارج PHP.

يصبح هذا مهمًا في اللحظة التي تحاول فيها استخدام ملفات التعريف، أو تعديل البيانات من الخارج.

قد تنظر أيضا إلى http://lukeplant.me.uk/resources/flatfile/ لحزمة PHP Flatfile.

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

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