PDA

View Full Version : سوال: کمک : افزایش سرعت خواندن فایل های عکس !!!



si6arp
پنج شنبه 07 مرداد 1389, 16:59 عصر
با سلام.
آیا فایل های عکس را از روی درایو هارد دیسک بخوانیم سرعت خواندن بالا تر است یا از دیتابیس ؟
یا بهتر بگم . تفاوت ذخیره عکس در دیتابیس و آپلود عکس در هاست و ذخیره آدرس آن در دیتابیس چیست ؟

rozegar21
پنج شنبه 07 مرداد 1389, 18:07 عصر
اگه عکس هارو توی دیتابیس ذخیره کنی حجمش بالا می ره در نتیجه انجام query ها با سرعت کمی صورت میگیره اما اگه ادرس رو توی بانکت بزاری بهتره

man of rebellious being
پنج شنبه 07 مرداد 1389, 21:36 عصر
با سلام

حرف دوستمون کاملا درست است در اضافه باید گفت ایراد های ذخیره عکس در دیتا بیس در
access نمایان تر است و این نوع ذخیره فقط در جایی که امنیت مهم است کاربرد دارد انهم نه با access بلکه با sql server , oracle

Mostafa_Dindar
پنج شنبه 07 مرداد 1389, 22:17 عصر
اگه عکس هارو توی دیتابیس ذخیره کنی حجمش بالا می ره در نتیجه انجام query ها با سرعت کمی صورت میگیره اما اگه ادرس رو توی بانکت بزاری بهتره


با سلام

حرف دوستمون کاملا درست است در اضافه باید گفت ایراد های ذخیره عکس در دیتا بیس در
access نمایان تر است و این نوع ذخیره فقط در جایی که امنیت مهم است کاربرد دارد انهم نه با access بلکه با sql server , oracle

حرف دوستمون کاملا نادرست است ,معماری SQL Server با Access کاملا متفاوت است .

به طور کلی توصیه شده در صورتی که حجم عکس کمتر از 256 KB است برای Performance بیشتر در Data Base ذخیره کنید و در صورتی که بیشتر از 1 MB است بهتر است که در File System ذخیره شود . و در صورتی که بین 256 تا 1 مگابایت است معیارهای دیگری از قبیل مقدار خواندن , نوشتن , و ویرایش و ... دخیل هستند که برای مطالعه بیشتر این مقاله (http://research.microsoft.com/pubs/64525/tr-2006-45.doc) رو مطالعه بفرمائید .

موفق باشید

si6arp
پنج شنبه 07 مرداد 1389, 22:19 عصر
مرسی داداشای گلم. خوب حجم عکس من زیر 100 کیلو بایت هست. حالا نیاز به یک آموزش داریم برای دخیره عکس در دیتنابیس. و روش خواند و استفاده از آن.

با تشکر از اساتید محترم

man of rebellious being
پنج شنبه 07 مرداد 1389, 22:26 عصر
با سلام

من مقاله را گذرا نگاه کردم ولی وقتی میتوان تصاویر را بصورت ادرس ذخیره کرد دلیلی برای استفاده مستقیم از DATABASE نیست و در این که در حالت اول سرعت بالاتر است شکی نیست

Mostafa_Dindar
پنج شنبه 07 مرداد 1389, 22:31 عصر
با سلام

من مقاله را گذرا نگاه کردم ولی وقتی میتوان تصاویر را بصورت ادرس ذخیره کرد دلیلی برای استفاده مستقیم از DATABASE نیست و در این که در حالت اول سرعت بالاتر است شکی نیست


شما یک نکته رو فراموش کردید , شاید سرعت کوئری بیشتر شود ولی هنگام نمایش عکس باید از روی دیسک بخواند که سرعت خواندن در این مرحله کندتر از نسبت به خود پایگاه داده هست .
همچنین در مورد سرعت پرسیده بودند که جواب دادم , در مورد استراتژی هرکدام از گزینه ها cons and pros خوشو داره که بحث دیگریست


به گفته اون مقاله تحقیقاتی :

سرعت خواندن داده 256 کیلو بایتی از دیتابیس 2 برابر بیشتر از دسترسی به Hard Disk هست . و این برتری تا 1 مگابایت ادامه دارد و در 1 مگابایت تقریبا برابرند ولی بالاتر از اون بهتره که از Hard Disk استفاده کنید .



Performance of SQL reads for objects of 256KB was 2x better than NTFS; but the systems had parity at 1MB objects. With 10MB objects, NTFS outperformed SQL Server. ولی در سرعت نوشتن قضیه متفاوت است .



مرسی داداشای گلم. خوب حجم عکس من زیر 100 کیلو بایت هست. حالا نیاز به یک آموزش داریم برای دخیره عکس در دیتنابیس. و روش خواند و استفاده از آن.

با تشکر از اساتید محترم

برای درج به مثالهای این پست (http://www.barnamenevis.org/forum/showpost.php?p=1000806&postcount=4) مراجعه کنید .

موفق باشید

rozegar21
جمعه 08 مرداد 1389, 23:30 عصر
256kb برای بازیابی یه عکس از بانک خوبه اما اگه در نظر بگیریم صد تا عکس 256 تایی توی بانک ذخیره کنیم اگه یه فروشگاه باشه هر کالا یه عکس میخواد چقدر بانک سنگین میشه جدای از بقیه اطلاعات بانکمون

Mostafa_Dindar
جمعه 08 مرداد 1389, 23:35 عصر
256kb برای بازیابی یه عکس از بانک خوبه اما اگه در نظر بگیریم صد تا عکس 256 تایی توی بانک ذخیره کنیم اگه یه فروشگاه باشه هر کالا یه عکس میخواد چقدر بانک سنگین میشه جدای از بقیه اطلاعات بانکمون

لطفا عبارتی رو که پررنگ کردم , توضیح بدین .

man of rebellious being
جمعه 08 مرداد 1389, 23:49 عصر
با سلام جناب دیندار

من مقاله ی شما رو دوباره نگاه کردم ولی در مورد asp صحبتی نکرده بود یادتون نره ما داریم در asp بحث می کنیم نه application و در طراحی سایت باید کمترین بار روی دیتا بیس load شود

rozegar21
شنبه 09 مرداد 1389, 00:09 صبح
لطفا عبارتی رو که پررنگ کردم , توضیح بدین .

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

Mostafa_Dindar
شنبه 09 مرداد 1389, 00:41 صبح
با سلام جناب دیندار

من مقاله ی شما رو دوباره نگاه کردم ولی در مورد asp صحبتی نکرده بود یادتون نره ما داریم در asp بحث می کنیم نه application و در طراحی سایت باید کمترین بار روی دیتا بیس load شود

سلام برادر :لبخندساده:

ببینید تفاوتی ندارد , در اینجا مساله موردبحث سرعت هست , اگر یک WebApplication رو در نظر بگیرید در سمت سرور در هر صورت یک سیستم عامل هست که کارها رو هندل میکند .
حال باید 2 چیز رو مقایسه کنید :
1-) میزان زمان خواندن آدرس عکس از دیتابیس + میزان زمان لود کردن عکس در حافظه
2-) میزان زمان خواندن آرایه ای از بایتها از SQL و تبدیل به هر فرمتی که نیاز است تحت پروتوکل HTTP یا TCP-IP یا ... به سمت کلایت بفرستد .

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

شاید امنیت بیشتری لازم داشته باشید ( وب یا ویندوز ) که ذخیره عکس در دیتابیس بهتر به نظر میرسه .

و یا هر دلیل دیگری که خودتون میدونید .

منظورم حجمشه . ما توی هارد تا دلتون بخواد جا برای نگه داشتن عکسهایی که ممکنه احتیاجی نباشه توی رم قرار بگیرند داریم

همانطور که در بالا عرض کردم , در مورد حجم صحبت نمیکنم دوست من . در مورد سرعت صحبت میکردیم .


دستیابی به بانکی که حجمش بالای چند گیگه بهتره یا کمتر از1 گیگدر سرعت تعداد رکوردها مهم هست و حجم بانک تاثیری در سرعت Query گرفتن ندارد .

موفق باشید