نمایش نتایج 1 تا 8 از 8

نام تاپیک: راهنمایی در طراحی دیتابیس با FileTable

  1. #1

    راهنمایی در طراحی دیتابیس با FileStream

    سلام
    من میخوام یه برنامه برای شرکتمون بنویسم متاسفانه تجربه استفاده از FileStream ندارم
    یه سوال داشتم
    تعداد فایلهای من خیلی زیاده ، تقریبا بالای 6 میلیون عکس اسکن شده
    مشکل حجم طبیعتا با هارد درست میشه
    مشکل من اینه نمیخوام با زیاد شدن تعداد اطلاعات جداولم برنامه کند عمل کنه
    یکی از دوستان گفتن که میشه بعد یه تعداد ای دی یه جدول دیگه تعریف کرد ، بنظرتون این عملیه و کار میده ؟
    یا اصلا نیازه به دو تا جدول ؟ یدونه جدول طراحی کنم بنظتون جواب میده ؟

    ممنون میشم اگه ایده و طرحی دارین که بنظر خوب میاد بگین
    آخرین ویرایش به وسیله lvl3hdi : پنج شنبه 22 تیر 1396 در 08:12 صبح

  2. #2
    کاربر دائمی آواتار sajadsobh
    تاریخ عضویت
    تیر 1390
    محل زندگی
    رشت
    سن
    37
    پست
    420

    نقل قول: راهنمایی در طراحی دیتابیس با FileTable

    خب چرا میخواین اصن فایل رو داخل دیتابیس ذخیره کنید؟ آدرس فایل رو ذخیره کنید تا مشکل کندی دیتابیس پیش نیاد

  3. #3
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: راهنمایی در طراحی دیتابیس با FileTable

    نقل قول نوشته شده توسط lvl3hdi مشاهده تاپیک
    سلام
    من میخوام یه برنامه برای شرکتمون بنویسم متاسفانه تجربه استفاده از FileTable یا FileStream ندارم
    یه سوال داشتم
    تعداد فایلهای من خیلی زیاده ، تقریبا بالای 3 میلیون عکس اسکن شده
    مشکل حجم طبیعتا با هارد درست میشه
    مشکل من اینه نمیخوام با زیاد شدن تعداد اطلاعات جداولم برنامه کند عمل کنه
    یکی از دوستان گفتن که میشه بعد یه تعداد ای دی یه جدول دیگه تعریف کرد ، بنظرتون این عملیه و کار میده ؟
    یا اصلا نیازه به دو تا جدول ؟ یدونه جدول طراحی کنم بنظتون جواب میده ؟

    ممنون میشم اگه ایده و طرحی دارین که بنظر خوب میاد بگین
    ابتدا اینکه استفاده از FileTable هیچ اثر منفی روی پایگاه داده شما نمیذاره. چون مبنای اون FileStream و مدیریت یکپارچه با فایل سیستم هست. یعنی بر خلاف ذخیره مستقیم فایل در جدول که مدیریتش با پایگاه داده است.
    خب 3 میلیون عکس حجم بزرگی میشه که همه روی یک هارددیسک قابل ذخیره نیست و شما میتونید پایگاه داده رو روی چندین هارددیسک پارتیشن کنید. بهتره جداول اصلی رو توی یک هارد و FileTable رو توی هاردهای مختلف پارتیشن کنید.

  4. #4
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: راهنمایی در طراحی دیتابیس با FileTable

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

  5. #5

    نقل قول: راهنمایی در طراحی دیتابیس با FileTable

    خیلی ممنون بابت پاسخ گوییتون

    لینک فایل تصویر (دیتابیس تو یه سیستم دیگست اینو الان نوشتم کامل نیست ولی فیلدهای اصلی مشخصه) : http://uupload.ir/files/csme_untitled.jpg
    دوتا جدولایی که طراحی کردم به این صورته که یکیش مربوطه به اطلاعات مراجعه میشه - فیلدهاش (آی دی ، آی دی دانشجو، مشخصات تصویر ، تاریخ شروع ، تاریخ پایان ، آی دی جدول تصویر)
    فیلدهای جدول تصویر یا همون فایل تیبل (آی دی جدول تصویر ، استریم آی دی ، لینک عکس و ...)

    همون طور که فرمودین واسه جدول دوم (جدول تصویر) یه فایل گروه دیگه مشخص شده که تو یه هارد دیگه ذخیره میشه

    الان چند تا سوال :
    1- میتونم آی دی جدول تصویر رو حذف کنم و با آی دی استریم کار کنم ؟ تاثیری تو سرعت سلکت داره ؟
    یا همین طوری بمونه بهتره ؟

    2 - کوئری هایی که نوشته میشه بیشتر جستجوها بر اساس آی دی دانشجو و تاریخ ورود و تاریخ خروج صورت میگیره - این سه تا رو باید ایندکس گذاری کرد ؟ (در مورد ایندکس گذاری اطلاعات کمی دارم ممنون میشم ایندکسای این دو تا جدول رو مشخص و نحوه ایندکس گذاریشونو بگین)
    البته بعضی وقتا هم نیازه بر اساس آی دی دانشجو و مشخصات تصویر(جدول جدا با فیلدهای : آی دی - نام تصویر) جستجو شن

    3- حجم عکسا در حدود دو مگ و تعداد بالای 6 م ... : برای این حجم تصویر شکستن جدول تصویر و دو تا کردن اون تاثیر داره ؟
    چون تصاویر کاملا منظم و به ترتیب شماره هستند ، اینطوری داخل برنامه میشه تعریف کرد از یه شماره تا یه شماره خاص تو جدول 1 جستجو شن و بقیش تو یه جدول دیگه ، اینطوری سرعت گذارش گیری بهتر میشه بنطرتون ؟

    بقیه دوستان هم مشارکت کنن لطفا (مارو از نظراتون به بهره نذارین :-x)

  6. #6
    کاربر دائمی آواتار alireza_s_84
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    اهواز
    پست
    1,191

    نقل قول: راهنمایی در طراحی دیتابیس با FileTable

    میتونم آی دی جدول تصویر رو حذف کنم و با آی دی استریم کار کنم ؟ تاثیری تو سرعت سلکت داره ؟
    سرعت کلیدهای int نسبت به Guid بیشتره، همیشه توصیه میشه کلید اصلی رو Guid نگیریم. از اونجا که Stream Id از نوع Guid هست پس همون Identity بهتر هست.

    کوئری هایی که نوشته میشه بیشتر جستجوها بر اساس آی دی دانشجو و تاریخ ورود و تاریخ خروج صورت میگیره - این سه تا رو باید ایندکس گذاری کرد ؟ (در مورد ایندکس گذاری اطلاعات کمی دارم ممنون میشم ایندکسای این دو تا جدول رو مشخص و نحوه ایندکس گذاریشونو بگین)
    البته بعضی وقتا هم نیازه بر اساس آی دی دانشجو و مشخصات تصویر(جدول جدا با فیلدهای : آی دی - نام تصویر) جستجو شن
    کلیدهای اصلی که ایندکس خوشه‌ای هستن، منتها در سوال شما تاریخ ورود و تاریخ خروج باید ایندکس بشن. اگر سرعت خیلی بالایی مدنظرتون هست بهتر از Intersection Index استفاده کنید. یعنی روی هر ستون جداگونه ایندکس بزنید.
    در مورد جدول دوم هم نام تصویر رو میتونید ایندکس گذاری کنید. هرچند لزومی نداره بر اساس نام تصویر جستجویی صورت بگیره. هرچند اطلاعی از سناریوی شما ندارم.
    حجم عکسا در حدود دو مگ و تعداد بالای 6 م ... : برای این حجم تصویر شکستن جدول تصویر و دو تا کردن اون تاثیر داره ؟
    چون تصاویر کاملا منظم و به ترتیب شماره هستند ، اینطوری داخل برنامه میشه تعریف کرد از یه شماره تا یه شماره خاص تو جدول 1 جستجو شن و بقیش تو یه جدول دیگه ، اینطوری سرعت گذارش گیری بهتر میشه بنطرتون ؟
    نیازی به اینکار نیست. چون رکوردها بصورت درخت متوازن با مرتبه جستجوی O(log n) هست و بهترین حالت رو برای جستجو داره. اما برای افزایش کارایی بهتره جدول رو روی چند پارتیشن تقسیم کنید (یک درایو برای کل هارد در نظر نگیرید) و اگر روی چند هارد تقسیم بشه بی شک سرعت بالاتری خواهد داشت چون جستجو بصورت موازی انجام میشه (چند هد و پلاتر همزمان کار میکنن)

  7. #7
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: راهنمایی در طراحی دیتابیس با FileTable

    منم چندبار خواستم کار با فایل تیبل رو یاد بگیرم تایپیک هم زدم. کاش دوستان یه راهنمایی برا افراد مبتدی مثل من هم بکنن که چطور میشه با فایل تیبل کار کرد . البته با یک مثل ساده ممنون میشم یادمون بدید

  8. #8

    Smile نقل قول: راهنمایی در طراحی دیتابیس با FileTable

    نقل قول نوشته شده توسط alireza_s_84 مشاهده تاپیک
    سرعت کلیدهای int نسبت به Guid بیشتره، همیشه توصیه میشه کلید اصلی رو Guid نگیریم. از اونجا که Stream Id از نوع Guid هست پس همون Identity بهتر هست.

    بنابه نیاز جدولامو یکم تغییر دادم :

    Snapshot12.jpg

    در اموزشهایی که واسه ساخت جدول از نوع FileStream یا FileTable داده شده آی دی جدول از نوع Uniqueidentifier بوده (مانند کد زیر :)

    CREATE TABLE [tblFiles]
    (
    FileId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL UNIQUE DEFAULT(NEWID()),
    ReferralId int NOT NULL,
    SheetId int NOT NULL,
    SystemFile VARBINARY(MAX) FILESTREAM NULL
    )
    ON [PRIMARY] FILESTREAM_ON [fg1]

    با توجه به جداولم بنظرتون بازم نیازه از آی دی int استفاده کنم ؟ (اگه اره مزایاشو میفرمایین ؟)
    و اینکه جستجو بر حسب ReferralId + SheetId صورت میگیره که فکر کنم این دوتاباهم ایندکس بگیرم بهتر باشه ؟ (که referralID خودش با آی دی دانشجو و تاریخ ها سرچ میشه)

    ممنون میشم دوستان نظر بدن

تاپیک های مشابه

  1. راهنمایی در طراحی دیتابیس ورود و خروج اساتید
    نوشته شده توسط Rasool Fazeli در بخش تحلیل و طراحی بانک اطلاعات
    پاسخ: 3
    آخرین پست: چهارشنبه 09 اردیبهشت 1394, 08:03 صبح
  2. درخواست راهنمایی در طراحی دیتابیس گزارشتان روزانه پرسنل
    نوشته شده توسط dehqhani در بخش تحلیل و طراحی بانک اطلاعات
    پاسخ: 3
    آخرین پست: جمعه 10 بهمن 1393, 19:45 عصر
  3. سوال: راهنمایی در طراحی نرم افزار تصحیح آزمون با اسکنرهای مربوطه
    نوشته شده توسط mjdeveloper در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: دوشنبه 24 بهمن 1390, 16:11 عصر
  4. سوال: راهنمایی در طراحی سبدخرید با استفاده از پروفایل
    نوشته شده توسط ALI_REZA_6 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: جمعه 30 دی 1390, 15:50 عصر
  5. راهنمایی در مورد کار با دیتابیس
    نوشته شده توسط beginerC#‎ در بخش C#‎‎
    پاسخ: 9
    آخرین پست: پنج شنبه 20 خرداد 1389, 19:30 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •