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

نام تاپیک: ایجاد برنامه مستقل از پایگاه داده

  1. #1
    کاربر دائمی آواتار sepehr.net
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    386

    Question ایجاد برنامه مستقل از پایگاه داده

    سلام
    من چند وقته که درگیر یه پروژه هستم و مشکلی دارم

    خلاصه کار به این صورت هست که یک برنامه ایی که الان با Sql کار میکنه ، باید به شکلی تغییر کنه که به صورت همزمان هم با SQL کار کنه هم با Oracle و هم MySql .
    همچنین عملیات Replication نیز بین این دیتابیس ها انجام میشه.

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

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

  2. #2
    کاربر دائمی آواتار sanay_esh
    تاریخ عضویت
    تیر 1386
    محل زندگی
    برنامه نویس !
    سن
    39
    پست
    449

    نقل قول: ایجاد برنامه مستقل از پایگاه داده

    عزیزم برای اینکار میتونی از تکنولوژی های موجود مانند entity framework , linq استفاده کنی و برنامه فقط در لایه دیتا اکسس قیمت دسترسی مستقیم به دیتابیس هست که فرق میکنه

    مثل اینکه شما فقط از تکنولوژی linq جهت استفاده از دیتابیس های مختلف استفاده میکنی که نیازی به حتی یاد گرفتن دستورات دیتابیسی نداره !!

    برای دات نت پرووایدرهای جالبی ارائه شده مانند پرو وایدر اس کیو ال ، اوراکل و... کمی زحمت داره ولی واقعا کار خوبی از آب در میاد !

  3. #3
    کاربر دائمی آواتار sepehr.net
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    386

    نقل قول: ایجاد برنامه مستقل از پایگاه داده

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

  4. #4
    کاربر دائمی آواتار sanay_esh
    تاریخ عضویت
    تیر 1386
    محل زندگی
    برنامه نویس !
    سن
    39
    پست
    449

    نقل قول: ایجاد برنامه مستقل از پایگاه داده

    بله پروسجرهارو نمیشه در لینک پیاده کرد

    اما لینک به هیچ وجه سرعت رو پایین نمیاره ...

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

    در ضمن نحوه ریپلیکیشن بین دیتابیس ها و اولویت ها هم مهم است .
    در هر صورت اگر برنامه بخواد با هر کدام بصورت مستقل کار بکنه باید برخی عملیات الزاما مخصوص خود دیتابیس انجام بشه و من هم یکسال پیش به این مشکل برخورد کرده بودم ولی
    خیلی از مشکلاتم رو با LINQ حل کردم و برخی رو مجبور به بازنویسی شدم امیدوارم بتونی یه راه بهتری پیدا کنی !

  5. #5
    کاربر دائمی آواتار sepehr.net
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    386

    نقل قول: ایجاد برنامه مستقل از پایگاه داده

    منظور من از اینکه سرعت رو پایین میاره این بود که اگه بخواهیم پروسیجر رو با لینک پیاده کنیم مجبوریم تمامی عملیات رو از سمت سرور به سمت کلاینت بکشونیم که این افت سرعت خیلی زیادی رو به بار میاره
    ولی باید راه حلی برای اینکار باشه ، مثلا اینکه یک کامپایلر بسازیم که دستورات مورد نیاز رو به اون بدیم و خروجی اون دیتا های ورودی پایگاه ها داده های مختلف است. و این لایه بین برنامه و پایگاه داده استفاده بشه!

  6. #6
    کاربر دائمی آواتار sepehr.net
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    386

    نقل قول: ایجاد برنامه مستقل از پایگاه داده

    فکر کنم مشکل من با ORM حل بشه!

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

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