الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهى عيوب إضافة صورة إلى قاعدة البيانات

بدأه مصطفى_ظيمة في 10 يونيو 2011 · 4 رد · 1,619 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوانى الأعزاء

لقد علمت أن من عيوب إضافة صوة إلى قاعدة البيانات أكسس ما يلى :

1. تضخم حجم قاعدة البيانات

2. صعوبة أخذ backup للقاعدة لتضخم حجمها

3. بطء إجراء عمليات البحث والاستعلام والحذف والحفظ مع تضخم قاعدة البيانات

فهل هناك عيوب أخرى ؟

وهل تظل هذه العيوب موجودة فى حال ما إذا كانت قاعدة البيانات من نوع sql server 2005 ؟

وهل فى حالة حفظ الصورة فى مجلد تابع للبرنامج .. كيف يتم تأمين المجلد من الحذف أو التلاعب به ؟

أرجو الرد من المشرفين والخبراء مع توضيح النقاط السابقة بالتفصيل حتى استفيد ويستفيد الأخوة بالمنتدى

ولكم جزيل الشكر

تحياتى

#2

السلام عليكم ورحمه الله وبركاته

اخي موضوع حفظ الصوره هو واحد من اهم المواضيع الذي يحتار فيه الكثير من المبرمجين!! هل احفظها في قاعدة البيانات ام هل احفظها في مجلد على القرص, طبعا عملت دراسه لهذا الموضوع واستنتجت ان حفظ الصوره في قاعدة البيانات له بعض العيوب وابرزها هو التعامل مع الصوره كبايتات مما يؤخر في استرجاعها والتعامل معها برمجيا اما من ناحية كبر قاعدة البيانات فالصور مثلا مثل اي نوع اخر يأخذ مساحته من قاعدة البيانات ولكن يعتمد على نظام قواعد البيانات نفسه فنجد ان الاكسس تعاني كثيرا من هذا الامر بسبب ان مساحة قاعدة البيانات الواحد لا تتجاوز 2 جيجابايت, يعني لو افترضنا ان حجم الصوره 10 ميجابايت في نظام توظيف مثلا فستوعب القاعدة 208 موظفا من غير بقية معلوماته!! وهذا امر غير مقبول به في هذه الحاله, اما بالنسبه لعملية النسخ الاحتياطي فأراها ميزه لاعيب هنا لأن جميع المعلومات ستكون ضمنها لأن البحث يعتمد على الفهارس المحدده في الجدول.

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

الخلاصه هناك العديد من انظمه قواعدة البيانات تتيح التعامل مع الصور وغيرها من الوسائط المتعدد بكفاءه مثل السيكول سيرفر والاوراكل حيث انا توفر حزمه خاصه للتعامل مع الوسائط المتعدده, واردت ان انوه ان السيكول سيرفر 2008 اتت بنوع جديد FileStream والذي يسمح من خلاله خزن الصور خارج قاعدة البيانات لتقليل العبء على قاعدة البيانات ولكنه يوفر لنا اهم حاجه كنا نفتقدها الا وهي ان يكون اتصال بين الملف في القرص والمرجع في قاعدة البيانات فلو تم الحف الان يقوم الخادم تلقائيا بحذف المرجع من قاعدة البيانات

اخير قم بحفظ الصور في القاعدة اذا كان تطبيقك يستلزم وقاعدة البيانات كفوءة والا قم بخزنها خارجا في مجلد منعزل عنها

1

.:: Wish to become better and better ::.

#3

السلام عليكم

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

اما في SQL server فالوضع مختلف تماما فالسيرفر يتحمل حجم بيانات ضخم .

ايضا هناك نصيحة (best practice) لخزن الملفات في قاعدة البيانات (قبل filestream) وهي اذا كان حجم الملف اكبر من 1 ميجا يفضل خزنه خارجا والا يخزن في قاعدة البيانات. والصور غالبا حجمها صغير لذا اعتقد لا مشكلة في تخزينها في قاعدة البيانات .

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

وهل فى حالة حفظ الصورة فى مجلد تابع للبرنامج .. كيف يتم تأمين المجلد من الحذف أو التلاعب به ؟

لايوجد تأمين ولا ضمان وانما يجب ان يكون المستخدم قدر المسؤولية والافضل ان يكون هناك سيرفر خاص لايصل اليه مستخدم عادي .

#4

شكر لكما على آرائكما وجزاكما الله خيرا

#5

السلام عليكم ورحمه الله وبركاته

لاشكر على واجب اخي .. بالتوفيق ..

.:: Wish to become better and better ::.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…