مروان محمود3 نشر 25 أكتوبر 2021 أرسل تقرير نشر 25 أكتوبر 2021 ماهو أفضل تكنيك لحفظ الصور في قاعدة البيانات 2 اقتباس
0 شرف الدين حفني نشر 25 أكتوبر 2021 أرسل تقرير نشر 25 أكتوبر 2021 يوجد عدة طرق لحفظ الصور لكلٍ منها عيوبها ومميزاتها حفظ الصور في قاعدة البيانات مباشرةً ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ تظل تلك الطريقة هي أبسط طريقة لحفظ الصور وهي أن تقوم بحفظ الصور في قاعدة البيانات مباشرةً في حقل من النوع blob مميزات تلك الطريقة: بسيطة في تطبيقها, مجرد أن تستقبل الصور من المُستخدم وتقوم بإرفاقها في قاعدة البيانات كما هي وعند الإستقبال تقوم بجلبها من قاعدة البيانات وإرسالها إلى المُستخدم ضمان عدم وجود صور غير مُستخدمة: حيث أن الصور مرفوقة في قاعدة البيانات, مما يعني في حالة قام مُستخدم بحذف الصورة سيتم حذفها من قاعدة البيانات عن طريق الsql وبالتالي نضمن عدم وجود صور في المساحة التخزينية تم حذفها من قِبل المُستخدم عيوب تلك الطريقة تُسبب مشاكل في الأداء: حيث أن الصور حجمها كبير نسبياً مما يجعل الإستعﻻمات في قاعدة البيانات أبطأ ويقلل من أداؤها يصعب عمل نسخ إحتياطية من الصور في حالة إحتجناها مستقبلياً حفظ الصور في المساحة التخزينية ومن ثم إرفاق عنوانها في قاعدة البيانات ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ مميزات تلك الطريقة تلك الطريقة أفضل في الأداء: حيث هنا تفوز في الأداء لسببين , أولاً بسبب أن قاعدة البيانات أصبحت الأن تقوم بجلب بيانات ذات مساحة أقل مما يعني جمل إستعﻻمية أكثر سرعة حيث أن قاعدة البيانات ﻻ تقوم بجلب الصورة إنما فقط تقوم بجلب العنوان الذي يُشير لتلك الصورة , وأيضاً لأن عملية جلب الصورة نفسها من المساحة التخزينية أسرع من عملية جلبها بواسطة قاعدة البيانات سهل أن تقوم بعمل نسخة إحتياطية للصور عيوب تلك الطريقة أكثر تعقيداً من السابقة حيث أنك تقوم أولاً بوضع الصورة في المساحة التخزينية وإعطائها إسم مميز حتى ﻻ يحصل تداخل بين إسم صورتين وبعد ذلك نجلب العنوان ونقوم بوضعه في قاعدة البيانات, وعند القراءة نقوم بجلب العنوان ومن ثم نجلب الصورة المُرفقة في ذلك العنوان, ويجب التأكد عند التخزين أن العنوان المُسجل في قاعدة البيانات متوافق مع العنوان الفعلي من الممكن أن يتم حذف الصورة من قاعدة البيانات ولكن ﻻ يتم حذفها فعلياً من المساحة التخزينية مما يسمح بإستغﻻل المساحة التخزينية بشكلٍ سيئ حسناً بالنسبة لسؤالك عن أفضل طريقة , فﻻ يوجد أفضل طريقة فكل طريقة تعتمد على إحتياجاتك, ولكن بشكلٍ عام ستجد الطريقة الثانية مناسبة لأغلب الأوقات, ﻻ أعتقد أنني قد إحتجت مطلقاً إلى الطريقة الأولى , الطريقة الثانية تعطي أداءاً جيداً جداً بالنسبة إلى الطريقة الأولى اقتباس
0 Adnane Kadri نشر 25 أكتوبر 2021 أرسل تقرير نشر 25 أكتوبر 2021 في الحقيقة نحن عادة لا نقوم بتخزين " الصور " ذاتها في قواعد البيانات بل نقوم بتخزين مسارات هاته الصور , و عوضا عن تخزينها في قواعد البيانات نحن نستخدم نظم التخزين و الملفات لذلك . كما أنه لا ينصح بتخزين الصور في جدول قاعدة البيانات. فهناك عيوب كثيرة جدا لهذا النهج. بحيث يتطلب تخزين بيانات الصورة في الجدول أن يقوم خادم قاعدة البيانات بمعالجة ونقل كميات هائلة من البيانات التي يمكن إنفاقها بشكل أفضل على المعالجة الأنسب لها . و من جانب اخر يمكن لخادم الملفات معالجة ملفات الصور هذه بشكل أفضل . بحيث يؤدي تخزين بيانات الصورة داخل حقل ثنائي إلى ترك هذه البيانات متاحة فقط للتطبيق الذي يقوم بدفق بيانات الصورة الأولية من وإلى هذا الحقل , و الميزة الوحيدة لهذا الأسلوب هي أنه يمكنك تأمين صورك بشكل أفضل لأنه يمكنك استخدام ميزات أمان قاعدة البيانات . طريقة بديلة وأفضل هي تخزين الصور خارج قاعدة البيانات و تخزين رابط فقط إلى ملف الصورة و ليكن تحت حقل اسمه img_path مثلا . بحيث سنحتاج فقط إلى حقل نص في جدول قاعدة البيانات لتخزين هذه المعلومات , كما أننا ستحتاج مزامنة البيانات في حقل الارتباط مع نظام الملفات الخاص بك لكي نتجنب مشاكل مثل التالي : و من السهل جدًا أيضًا استخدام هذه الطريقة لتخزين الصور مع مختلف لغات البرمجة , لأن معظمها تدعم وظائف القراءة من نظمم الملفات و إدارتها . اقتباس
السؤال
مروان محمود3
ماهو أفضل تكنيك لحفظ الصور في قاعدة البيانات
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.