View Full Version : راهنمایی در مورد طراحی دیتابیس نرم افزار بایگانی اسناد
moferferi
چهارشنبه 30 مهر 1393, 12:33 عصر
سلام
من میخوام یه برنامه تحت وب بایگانی اسناد با asp mvc بنویسم
اول کار باید حدود 5 هزار نامه و سند که مربوط به سال های قبل هست را توی برنامه ذخیره کنم.و در اینده هم تعداد زیادی سند ممکنه ذخیره بشه.
کسی تجربه طراحی همچین دیتابیسی را داره.چه چیزایی توی طراحی این نوع پایگاه های داده که حجمشون خیلی سنگین میشه باید رعایت کرد.؟
اگه دیتابیس را بصورت کلاستر تعریف کنم تاثیری داره؟
pswin.pooya
پنج شنبه 01 آبان 1393, 23:05 عصر
سلام
5 هزار رکورد که خیلی کم هست. DBMS خیلی بیشتر از این رو به راحتی جواب میده. من خودم یه همچین نرم افزاری نوشتم که تا امروز حدود 12 هزار رکورد داره و کمتر از چند میلی ثانیه پاسخ میده.
moferferi
شنبه 03 آبان 1393, 08:25 صبح
سلام.خود من هم الان برنامه ای دارم که حدود 30 تا مدرسه توی اون عضو هستن و طی چند سال نزدیک 3 میلیون رکورد داره.ولی اونها همش یک سری عدد و تکسن هست.
توی برنامه اسناد ما با ذخیره فایل های باینری سروکار داریم که هر متوسط حجم هر فایل ممکنه 300 کیلوبایت باشه
tnlink
شنبه 03 آبان 1393, 08:44 صبح
من تجربه پیاده سازی چنین نرم افزاری در حجم میلیون رکورد دارم
باید یک جدول در نظر بگیری که فقط فایل را ذخیره می کند و جدول دیگری که یک فیلد آن اشاره به رکورد یا رکوردهای مورد نظر از جدول تصویر داره رو تعریف کنی
pswin.pooya
پنج شنبه 08 آبان 1393, 01:17 صبح
توی برنامه اسناد ما با ذخیره فایل های باینری سروکار داریم که هر متوسط حجم هر فایل ممکنه 300 کیلوبایت باشه
فایل رو نباید داخل db ذخیره کنید. کار اشتباهی هست.
Reza_Yarahmadi
پنج شنبه 08 آبان 1393, 18:02 عصر
برای این کار طبق گفته دوستمون فایل ها را رو توی یه جدول مجزا بریزید و برای فیلد باینری یا از روش های FileStream و FileTable استفاده کنید یا اونو توی یه FileGroup دیگه و ترجیحا روی یه دیسک مجزا ایجاد کنید.
قرار دادن فایل در جایی غیر از دیتابیس و ذخیره آدرس اون توی دیتابیس یکسری معایب داره (در این مورد جستجو کنید) مخصوصا اگه تعداد تراکنش های دیتابیس زیاد باشه.
moferferi
جمعه 09 آبان 1393, 21:55 عصر
خیلی ممنونم مدت زیادی بود درگیر این مسئله بودم.
اصلا در مورد FileTable اطلاعی نداشتم.یه مثال در مورد FileTable (http://www.dotnettips.info/post/1307/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-filetable-%D8%AF%D8%B1-sql-server-2012-%D8%A8%D8%AE%D8%B4-1) و یه مقاله در مورد FileGroup (http://www.dotnettips.info/post/1819/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%BE%D8%A7%D8%B1%D8%AA%DB%8C%D8%B4%D9%86-%D8%A8%D9%86%D8%AF%DB%8C-%D8%AF%D8%B1-%D8%A2%D8%B1%D8%B4%DB%8C%D9%88-%D8%AC%D8%AF%D8%A7%D9%88%D9%84-%D8%A8%D8%A7%D9%86%DA%A9%E2%80%8C%D9%87%D8%A7%DB%8 C-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%DB%8C-sql-server) خوندم و نحوه صحیح و اصولی کار را فهمیدم.
بسیار سپاسگذار
حسین.کاظمی
پنج شنبه 22 آبان 1393, 11:31 صبح
باسلام به تمام دوستان
من هم تجربه یک پروژه عظیم با میلیون ها رکورد را دارم به این نتیجه رسیدم که البته چون برنامه من ویندوزاپلکیشن بود فایل ها و عکس ها را براساس شماره رکورد یا تاریخ در یک پوشه ذخیره میکردم و آدرس اون فایلو فقط توی بانک اطلاعاتی ذخیره میکردم و تا الان که اطلاع دارم رکوردهای جدول به 5-6 میلیون رسیده. تبدیل فایل به باینری و ذخیره اون در بانک کار بسیار بسیار اشتباهی است.
dehqhani
یک شنبه 23 آذر 1393, 16:32 عصر
سلام
من هم با نظر دوستمون موافق هستم بنده هم برای پروژه خودم که برای یک شرکت نوشتم همچین کاری کردم فایل ها را در هارد ذخیره میکنم و فقط آدرس آنها را درون دیتابیس ذخیره میکنم و سپس فراخوانی میکنم به نظر بنده هم ذخیره فایلهای درون دیتابیس کار اشتباهی هست مگر اینکه آن فایل از نظر امنیتی برایتان مهم باشد و تعداد فایل ها کم باشد که حجم دیتابیس را زیاد نکند .
با تشکر
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.