ورود

View Full Version : راه حل ارائه بدبد(تعیین ساختار)



MM_Mofidi
یک شنبه 01 بهمن 1385, 11:11 صبح
یک بانک دارم که حجم زیادی از اطلاعات متعلق به یک رکورد(مثلا مشتری) شامل فایلهای تصویر و فیلمهای نسبتا حجیم است.
برای دسترسی سریع و مطمئن و وجود داده ها در بانک چه پیشنهادی دارید.
بانک داده بر روی شبکه نسبتا کند در حال اجرا خواهد بود و کاربر عجول بوده و نتایج را سریعا خواستار است.
راه حل مد نظر من
فایلهای را محلی ذخیره سازی کنم و در هر تقاضای بروز رسانی به طور هوشمند فایلها را بین بانک و پوشه های محلی رد و بدل کنم.
شما راه حل بهتری دارید؟

-نکته مهم : حتما باید درنسخه پشتیبان بانک ما کلیه داده ها + فایلها را داشته باشیم

whitehat
یک شنبه 01 بهمن 1385, 11:34 صبح
دوراه حل که باید توام استفاده کنید
1- قسمتهای باینری مانند عکس ها و فیلم ها را در FileGroup های مختلف ذخیره کنید
2- با توجه به نوع Query ها از Index منسب استفاده کنید

AminSobati
یک شنبه 01 بهمن 1385, 12:38 عصر
مهدی جان معجزه نمیشه کرد! فایلهای باینری رو در فیلد Image داخل دیتابیس ذخیره کنید. در صورت استفاده از یک FileGroup مجزا، زمانی این کار بهره داره که شما واقعا یک Physical Disk جداگانه برای اون داشته باشید. جداکردن File Groupها روی یک دیسک مشترک، از لحاظ Performance سودی نداره.
داشتن فایلها در داخل DB باعث میشه تا Backup و Security بصورت یکپارچه مدیریت بشه. ولی داشتن فایلهای جدا کمی کار رو سخت میکنه

MM_Mofidi
دوشنبه 02 بهمن 1385, 21:27 عصر
من بیشتر فکر میکن توی این شرایط گلوگاه کانال شبکه باشه لذا دنبال راهی میگردم که این مشکل را حل کنم با فرض اینکه مثلا سرور از امکانات عالی برخوردار باشد و در صورت دریافت درخواست سریع پاسخ دهد و roolback نکند بعلل مختلف
این را چه کنم؟
ربط ایندکس هم نفهمیدم چون قاعدتا از اطلاعات باینری هیچ گزارش خاصی گرفته نمیشود. مگر یک select عمومی

AminSobati
دوشنبه 02 بهمن 1385, 23:25 عصر
جریان RollBack رو متوجه نشدم!
در مورد ایندکس حق با شماست، روی Image جستجو نمیکنیم! اما احتمالا منظورشون از ایندکس این بوده که روی فیلدهایی که Search داریم ایندکس بزنیم تا بی دلیل جدول Scan نشه. که البته این موضوع برای همه موارد توصیه میشه، نه فقط برای حالتی که با Image سروکار داریم

whitehat
دوشنبه 02 بهمن 1385, 23:32 عصر
ربط ایندکس هم نفهمیدم چون قاعدتا از اطلاعات باینری هیچ گزارش خاصی گرفته نمیشود. مگر یک select عمومی
اما احتمالا منظورشون از ایندکس این بوده که روی فیلدهایی که Search داریم ایندکس بزنیم تا بی دلیل جدول Scan نشه. که البته این موضوع برای همه موارد توصیه میشه، نه فقط برای حالتی که با Image سروکار داریمممنون آقای ثباتی :)

در صورت استفاده از یک FileGroup مجزا، زمانی این کار بهره داره که شما واقعا یک Physical Disk جداگانه برای اون داشته باشید. جداکردن File Groupها روی یک دیسک مشترک، از لحاظ Performance سودی نداره.
آقای ثباتی منظور شما هارد دیسک دیگری است یا پارتیشن مجزا؟

DonetKarvb
سه شنبه 03 بهمن 1385, 01:31 صبح
ممنون آقای ثباتی :)

آقای ثباتی منظور شما هارد دیسک دیگری است یا پارتیشن مجزا؟

اگر اشتباه نکنم باید از یک هارد دیسک جدا استفاده کنید. و بهتره که یک CPu هم اضافه داشته باشید تا بتونید به صورت موازی از هارد دیسک هاتون استفاده کنید.


ببخشید استاد ثباتی:خجالت:

AminSobati
سه شنبه 03 بهمن 1385, 10:26 صبح
اگر اشتباه نکنم باید از یک هارد دیسک جدا استفاده کنید. و بهتره که یک CPu هم اضافه داشته باشید تا بتونید به صورت موازی از هارد دیسک هاتون استفاده کنید.


ببخشید استاد ثباتی:خجالت:

دقیقا! (دلم میخواد بدونم چرا باید حداقل 10 کاراکتر بنویسیم! این قانون رو کی اختراع کرده؟ این رو برای رسیدن به 10 کاراکتر نوشتم!!)

MM_Mofidi
چهارشنبه 04 بهمن 1385, 12:07 عصر
اگر وسط ارسال داده های حجیم به هر دلیل داده ناقص ارسال بشه یا .... کل تراکنش ناموفق و برگشت میخوره. غیر از اینه
من سعی میکنم تراکنشهای کوچک انجام دهم ولی حداقل بروزرسانی یک رکورد است که مثلا یک فیل باینری n مگا بایتی دارد .............
کل رکورد هوا میشد نه Insert نه Update

AminSobati
چهارشنبه 04 بهمن 1385, 22:18 عصر
من متوجه نشدم این پست "سوالی" بود یا "اخباری"!

MM_Mofidi
شنبه 07 بهمن 1385, 10:35 صبح
جریان RollBack رو متوجه نشدم!




من متوجه نشدم این پست "سوالی" بود یا "اخباری"!


توضیح بیشتر راجع به منظورم بود.
با توجه به پیشنهاد اولیه خودم (بعنوان اینکه هنگام درخواست خاص فایلها را به sql منتقل کند نه همینجوری (در حالت عادی بصورت فایل محلی ذخیره شود) برای بروز رسانی sql قاعدتا باید یک insert یا update بکنیم که شامل ... رکورد است اگر حتی برای هر رکورد یک begin tran بکنیم بازم اون مشکلی که گفتم هست. راه حلی دارید؟
چون برای دیدن هر بار پرونده مشتری نمیشه مثلا 4-5 مگا بایت داده را روی شبکه(داغون) رد و بدل کرد.
من هنوز دنبال یمک راه حل مناسب تر (در صورت وجود) هستم