PDA

View Full Version : فشرده کردن اطلاعات قبل از ذخیره در دیتا بیس



bidad
جمعه 31 فروردین 1386, 02:10 صبح
سلام دوستان.
ببینید من تو برنامه به خاطر یه دلایل خاصی مجبور شدم گزارشی رو که بوسیله کریستال تولید میکنم بعنوان یک سند توی دیتابیس ذخیره کنم.
اما حجم هر کدوم از این اسناد بیشتر از 700 کیلو بایت میشه. ولی اگه فشردش کنیم حدود 80 کیلو بایت میشه و حتی کمتر.
حالا فکر کردم که قبل از ریختن تو دیتا بیس اونو فشرده کنم و هنگام خوندنش بازش کنم.
چند تا سوال و یا مشکل وجود داره
1-به نظر شما اینکار چقدر طول میکشه؟ یعنی چقدر رو راندمان برنامه تاثیر میزاره؟
2-آیا وقتی این فایل رو که بصورت باینری ذخیره میشه بازیابی کنیم میشه قالبش رو مشخص کرد؟
مثلا ممکنه ما یه عکس تو دیتا بس داشته باشیم. همه بصورت باینری ذخیره میشن. اما وقتی بازیابی میکنیم میشه فهمید که قالبش چیه؟ مثلا میشه فهمید که قالبش عکسه یا یک زیپ فایل؟
3- چه متدی برای فشرده سازی پیشنهاد می کنید البته این در صورتیه که برای سوال های قبل جوابی داشته باشیم.

ممنون میشم اگه در مورد سوالاتم فکر کنید.

DonetKarvb
جمعه 31 فروردین 1386, 10:13 صبح
حالا فکر کردم که قبل از ریختن تو دیتا بیس اونو فشرده کنم و هنگام خوندنش بازش کنم.
چند تا سوال و یا مشکل وجود داره
1-به نظر شما اینکار چقدر طول میکشه؟ یعنی چقدر رو راندمان برنامه تاثیر میزاره؟

بی تاثیر نخواهد بود. ولی فکر کنم با سخت افزار های امروزی قابل چشم پوشی باشه. از طرفی با فشرده کردن و فرستادن به سمت سرور این حسن رو داره که تو شبکه ترافیک کمتری میگیره.(برای زمانش هم میتونید چند فایل رو هممان زیپ و آنزیپ کنید تا به صورت واقعی تو کامپیوتر خودتون ببینیدش)

2-آیا وقتی این فایل رو که بصورت باینری ذخیره میشه بازیابی کنیم میشه قالبش رو مشخص کرد؟
مثلا ممکنه ما یه عکس تو دیتا بس داشته باشیم. همه بصورت باینری ذخیره میشن. اما وقتی بازیابی میکنیم میشه فهمید که قالبش چیه؟ مثلا میشه فهمید که قالبش عکسه یا یک زیپ فایل؟
نه نمیشه فهمید مگر اینکه پسوند فایل را در یک ستون دیگری ذخیره کنید.


3- چه متدی برای فشرده سازی پیشنهاد می کنید البته این در صورتیه که برای سوال های قبل جوابی داشته باشیم.

برای فشرده سازی یه مقاله ای هست که امیدوارم کارساز باشد.
Zip & Unzip In Vb.Net (http://www.dotnetsource.com/fa/forum/default.aspx?g=posts&t=79)
(بخش مقالات وی بی دات نت که برای خواندنش باید عضو شوید.)

sh
جمعه 31 فروردین 1386, 13:03 عصر
اگر نمیخوای از ابزار خارجی استفاده کنی بهتره از این کلاس بهره ببری

System.IO.Compression

bidad
شنبه 01 اردیبهشت 1386, 16:58 عصر
ممنون از حسن توجهتون