PDA

View Full Version : ذخیره سازی فایلها در جداول با امنیت و سرعت بالا



ali190
یک شنبه 14 آذر 1389, 21:14 عصر
باسلام و عرض خسته نباشید
دوستان عزیز یک سئوال از خدمتتون داشتم
در جمعی نشسته بودم که یک نفر ادعا میکرد که نرم افزاری نوشته که میتونه فایلها رو با امنیت بالا در جداول sql server ذخیره میکنه و دسترسی به فایلها نیز با سرعت بسیار بالا مقدوره و همچنین فایلها بصورت کاملاً رمزنگاری شده در جدوال ذخیره شده و امنیت بسیار بالایی دارد
میخواستم بدونم آیا این کار در حجم اطلاعات بالا از سرعت برنامه نمیکاهد؟
بطور کل آیا این روش منطقی و عقلانی هست یا بهتره فقط لینکها در دیتابیس ذخیره بشه و از ذخیره خود فایل در دیتابیس اجتناب نمود
یاعلی

حمیدرضاصادقیان
دوشنبه 15 آذر 1389, 07:46 صبح
سلام.
هرکدوم از روشها مزایا و معایبی دارند.
به طور مثال نگهداری فایل روی سرور بسیار سخت هست.چون ممکنه هارد Bad Sector بگیره. فایلها حذف بشوند. فایلها آلوده به ویروس شوند.
ولی در دیتابیس این اتفاقات نمی افته ولی مشکلات دیگری هست.مثل کندی عملکرد دیتابیس ، حجم بالای پشتیبان گیری و...
ولی اگر ساختار جداول درست باشه و ایندکس گذاری درستی انجام شده باشه و نوع کوئری ها بهینه باشه معمولا زیاد روی سرعت تاثیر نمیذاره.
خلاصه هرچقدر حجم افزایش پیدا کنه سرعت فراخوانی دیتا نیز تغییر خواهد کرد.

m_omrani
دوشنبه 15 آذر 1389, 19:53 عصر
مي گن به اندازه فايل بستگي داره.
اگه اندازه فايل ها کم باشه (کمتر از 1 مگا بايت باشه) ديتابيس سريع تر از File System عمل مي کنه. در غير اين صورت قرار دادن فايل ها بيرون از ديتابيس بهتره. ضمن اين که بايد توجه داشت اگه از VARBINARY استفاده مي کنيم، هنگام تغييرات رکورد، ديتاي اون در فايل لاگ ديتابيس ذخيره شده و باعث حجيم شدن فايل LDF مي شه. اين يکي از کاستي هاي اين روش بود که در SQL 2008 با معرفي FileStream به دليل نگهداري ديتاي مربوط به فايل در بيرون ديتابيس وجود نداره.
لذا شايد استفاده از FileStream انتخاب بهتري باشه (به شرطي که ديتابيس SQL 2008 باشه).