تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 9 از 9

نام تاپيک: حجم Dataset

  1. #1
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض حجم Dataset

    من می خواهم یه دیتابیس حدود 1 گیگی رو تو یه دیتاست در رویداد بازگشایی فرم Fill کنم. می خواهم بدونم :
    1-این کار خیلی طول می کشه؟ یعنی فرم طول می کشه باز شه؟ (حدود 50000 رکورد)
    2- این حجم پر شده فضا از کجا می گیره؟ از Ram ؟ اگه از Ram می گیره پس اگه Ram یک سیستم 1Gb باشه و من بخواهم 2 گیگ بریزم تو دیتاست چی میشه؟
    3-راه کاری مناسب دارید ارائه کنید.

    متشکرم از همه علما.

  2. #2
    آخر فروم باز H A M A S's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    3,294

    پيش فرض

    من می خواهم یه دیتابیس حدود 1 گیگی رو تو یه دیتاست در رویداد بازگشایی فرم Fill کنم. می خواهم بدونم :
    1-این کار خیلی طول می کشه؟ یعنی فرم طول می کشه باز شه؟ (حدود 50000 رکورد)
    2- این حجم پر شده فضا از کجا می گیره؟ از Ram ؟ اگه از Ram می گیره پس اگه Ram یک سیستم 1Gb باشه و من بخواهم 2 گیگ بریزم تو دیتاست چی میشه؟
    3-راه کاری مناسب دارید ارائه کنید.

    متشکرم از همه علما.
    اگر منابع سیستمی تون مثل رم زیاد باشه صد در صد عملکرد واکشی بهتره
    البته بهتر بود موقع طراحی دیتابیس با اعمال قانون هایی از بروز انومالی و ... که باعث افزایش حجم دیتابیس میشن جلوگیری میکردید
    یه روش هایی شنیدم حجم دیتابیس رو کم میکنه شاید دوستان دیگه بتونن کمکتون کنند
    تنها راه حلی که به ذهنم میرسه اینکه یکبار با Linq داده هاتون رو واکشی کنید ببینید سرعتش بهتره یا نه

  3. #3
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    من Linq بلد نیستم اگه یه یه لینک آموزش ساده دارید خوشحالمون می کنید.
    در ضمن الان کار از کارگذشته و طراحی دیتابیس رو نمی شه تغییر داد.
    --------------------------------------------------------------------------------------
    حالا اگر بخواهند یه دیتای حجیم رو این طوری استفاده کنند چی کار می کنند؟ از چند تا DB استفاده می کنند؟

  4. #4
    آخر فروم باز H A M A S's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    3,294

    پيش فرض

    من Linq بلد نیستم اگه یه یه لینک آموزش ساده دارید خوشحالمون می کنید.
    در ضمن الان کار از کارگذشته و طراحی دیتابیس رو نمی شه تغییر داد.
    --------------------------------------------------------------------------------------
    حالا اگر بخواهند یه دیتای حجیم رو این طوری استفاده کنند چی کار می کنند؟ از چند تا DB استفاده می کنند؟
    خدمت شما:
    اموزش جامع لینک:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  5. این کاربر از H A M A S بخاطر این مطلب مفید تشکر کرده است


  6. #5
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    بابت Linkq ممنون ولی اون حجم DataSet تکلیفش چی شد تو ADO.net ؟

  7. #6
    آخر فروم باز H A M A S's Avatar
    تاريخ عضويت
    May 2006
    پست ها
    3,294

    پيش فرض

    بابت Linkq ممنون ولی اون حجم DataSet تکلیفش چی شد تو ADO.net ؟
    آدم خبره ای توی مسائل ado.net نیستم
    اما خودتون یبار با هر دو روش امتحان کنید ببینید چقدر زمان میبره

    هر کدوم سریعتر بود همون روش رو انتخاب کن!!
    مسائل ریز و فنی تر رو شاید دوستان دیگه ای بتونن کمکت کنن
    ========================================
    ولی کلا برای دسترسی به بانک اطلاعاتی من صد در صد لینک رو پیشنهاد میکنم چون یکی از صدها مزیتش درگیر نبودن کاربر با بعضی چیزهای جزئی مثل sqldataadapter-datset و... هست

    موفق باشید
    Last edited by H A M A S; 09-02-2011 at 19:54.

  8. #7
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    با هر روشی که به دیتابیس وصل شوید اصل تئوری فرقی ندارد ...
    دیتابیس قرار نیست در RAM باشد.
    دیتابیس برخی شرکت های بزرگ تا چند ده ترابایت میرسد، فکر میکنید چند ده ترابایت RAM دارند؟!


    RAM که جای این کارها نیست.
    یک رایانه 100G هارد دارد در مقابل 1G رم دارد، قرار نیست هرچه داخل هارد است را خالی کنید تو RAM ...
    این اصلاً مخالف هر منطق و تئوری است.

    این خیلی غیر منطقی است که شما کدی نوشته باشید که در آن نیاز باشد کل دیتابیستان Fill شود در RAM ...

    =====

    برنامه نویس باید فقط حداقل بخش مورد نیاز را از دیتابیس بخواند.
    اگر میخواهید چند ده و چندصد هزار سطر اطلاعات را به کاربرتان نشان دهید (و کاربرتان هم به فرض محال میتواند همه را ببینید) باید نوعی صفحه بندی داشته باشید و در هر صفحه 10 یا 100 یا فوقش 1000 سطر را نمایش دهید ...

    همین سایت جاری، یک محصول برنامه نویسی است.
    تا الآن کمی کمتر از شش میلیون پست در دیتابیس آن ثبت شده ...
    (6000000 کجا و 50000 تا کجا !)
    گمان میکنید برنامه نویس همه دیتابیس را همیشه روی RAM نگاه میدارد؟ و RAM سرور از هارد آن بیشتر بوده که برنامه بدون مشکل کار میکند؟ (پس موتور دیتابیس به چه درد میخورد؟)

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

    چه از نظر راحتی کاربر و چه از نظر سرعت و چه منطق برنامه نویسی این صحیح نیست که شما مثلاً وقتی وارد انجمن Framework میشوید کل پست ها از تاریخ شروع به کار انجمن تا حالا همه در نمایه دیداری ریخته شوند وسط ...

    شاید بگویید برنامه من تحت وب نیست! خوب هیچ فرقی ندارد!
    50000 سطر را یکجا نمایش دهید برای کاربران ساده تر است یا فقط 100 سطر را نشان دهید با مکانیزم صفحه بندی؟
    اصلاً اگر دقت کرده باشید وقتی تعداد سطرها زیاد میشود کوچک ترین حرکت ScrollBar موجب جابجایی عظیمی میشود که عملاً به دلیل مدام مشکل تر شدن کنترل Scrollbar ، این کنترل ارزشمند را هم بی فایده میکند ...

    =====

    - در کار با دیتابیس باید تا حدامکان کمترین حجم اطلاعات مورد نیاز را بارگذاری کنید.
    - برای نمایش تعداد سطهای زیاد اطلاعات، باید مکانیزم صفحه بندی داشته باشید.

    جمیعاً موفق باشید.

  9. 3 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  10. #8
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    پيش فرض

    سلام.
    توضیحات خیلی کاملی بود.
    از دوست خوبم آقای _h2_ تشکر می کنم.

  11. #9
    آخر فروم باز Guts's Avatar
    تاريخ عضويت
    Nov 2009
    پست ها
    1,651

    پيش فرض

    ضمن تأیید گفته های دوستمون جناب H2 باید بگم 50000 هزارتا رکورد تعداد خیلی زیادی هم نیست و در حد یه دیتابیس متوسطه در هر صورت شما برای دسترسی به دیتا چه 5000تا چه 50000 هزارتا باید از روش هایی مثل data virtualization برای کار کردن و نمایش دیتا استفاده کنید؛ مثلاً برای نمایش دیتا در یک جدول، 200 تا 200تا رکوردها بگیری و نمایش بدی یا استفاده از متد های مختلف کش کردن دیتا و خیلی روش ها و ترفندهای دیگه که استفادشون بعضاً لازم و ضروریه.
    یه پیشنهاد دیگه ای که میتونم بکنم، استفاده از EntityFrameWork یا یک ORMهای درست درمونه که هم کارها رو راحت تر میکنه هم با روش هایی که استفاده میکنن و یا تنظیماتی که میشه روشون اعمال کرد تو پرفرمنس هم تأثیر زیادی داره.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •