دسته بندی ها
02:39 1401/06/14

ذخیره تصاویر زیاد و حجیم در دیتابیس Sql Server

مشخصات سوال کننده :
کاربر : DiakoAspCore     امتیاز کاربر : 37     رتبه کاربر : 20
دسته بندی : Sql Server

به این سوال امتیاز بدهید    1
تعداد بازدید این سوال : 3617
هوش مصنوعی

پاسخ هوش مصنوعی

ذخیره تصاویر در دیتابیس SQL Server به صورت مستقیم و مخصوصاً برای تعداد زیادی تصویر (مانند 500 هزار تصویر) معمولاً توصیه نمی شود. در زیر به دلایل و پیشنهاداتی برای این مسیله اشاره می کنم:

  • عملکرد و سرعت: ذخیره تصاویر به صورت BLOB (binary large object) در دیتابیس می تواند به شدت عملکرد را کاهش دهد، به خصوص اگر بخواهید تصاویر را به طور مرتب بارگذاری و نمایش دهید.

  • حجم دیتابیس: حجم دیتابیس شما به طور قابل توجهی افزایش می یابد و می تواند در مدیریت و پشتیبان گیری مشکلاتی ایجاد کند.

  • پشتیبان گیری : وقتی تصاویر در دیتابیس ذخیره شوند، زمان پشتیبان گیری افزایش می یابد و ممکن است مشکلاتی در بازیابی اطلاعات بوجود آید.

پیشنهاد می شود که تصاویر در یک سرور فایل جداگانه ذخیره شوند و در دیتابیس فقط مسیر یا URL آن ها ذخیره شود. این باعث می شود دسترسی به تصاویر سریع تر و مدیریت آن ها راحت تر باشد.

اگر به امنیت اطلاعات و رمزنگاری تأکید دارید، می توانید از روش های زیر استفاده کنید:

  • رمزنگاری فایل ها: قبل از ذخیره سازی تصاویر، آن ها را رمزنگاری کنید و سپس در سرور فایل ذخیره کنید.

  • استفاده از HTTPS: برای انتقال تصاویر از سرور به کاربر از پروتکل HTTPS استفاده کنید تا امنیت ارتباط تضمین شود.

در نهایت، تصمیم گیری نهایی باید با توجه به شرایط خاص پروژه و نیازمندی های کارفرما انجام شود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamid_b 17:11 1401/06/14

اگر تعداد تصاویرتون 500 هزارتاست که بنظرم این حجم از تصاویر اصلا منطقی نیست در دیتابیس ذخیره بشه. البته حجم تصاویر شما هم مهم هست چقدر باشه. اگر بالای 1 مگابایت هست حجم هر تصویر به صورت عادی به هیچ عنوان نمی تونید این کار رو انجام بدید.

خود مایکروسافت برای تصاویر بالای 1 مگابایت توصیه میکنه DataType رو از نوع VARBINARY(MAX) استفاده کنید و از روش FileStream داده هاتون رو ذخیره سازی کنید.

به این پاسخ امتیاز بدهید    1
امتیاز: 518 رتبه: 4
پاسخ دهنده : taqech 22:55 1401/10/11

شما می تونید خود فایل رو رمزنگاری کرده وروی هارد و در یکی از زیرپروژه های خود نرم افزار ذخیره کنید و نیازی به رمزنگاری در دیتابیس نیست.

به این پاسخ امتیاز بدهید    1
امتیاز: 10 رتبه: 70
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود