ورود

View Full Version : بهترین زمان اتصال به ‍پایگاه داده



zehs_sha
پنج شنبه 24 اسفند 1385, 14:14 عصر
با سلام خدمت دوستان :
من می خواهم نظر دوستان راجب اتصال به پایگاه داده در نرم افزار سوال کنم :

به نظر دوستان کدامیک از رویکرد زیر جهت اتصال و قطع اتصال به پایگاه داده سوال کنم.
رویکرد اول : هنگام ورود به برنامه اتصال به دیتابیس برقرار و هنگام خروج از برنامه اتصال به دیتا بیس قطع شود ؟
رویکرد دوم : هنگام باز کردن یک پنجره که نیاز به اتصال به دیتا بیس دارد اتصال باز و هنگام بستن این پنجره اتصال بسته شود (هنگامی که یک کلاس مرتبط به دیتا بیس باز می شود اتصال باز و تا هنگامی که شی در حافظه است این اتصال برقرار و هنگامی که شی از بین میرود اتصال نیز بسته شود).
رویکرد سوم :
هر زمان که نیاز باشد دستوری را به دیتابیس ارسال کنیم اتصال برقرار و هنگام که دستورات انجام شد بلافاصله اتصال را می بندیم ؟

متشکر می شوم از دوستان که نظرات خودشان را راجب به سه رویکرد قوق بنویسند ؟

omid_Ahmadi
پنج شنبه 24 اسفند 1385, 14:55 عصر
بسته به سناریوی که توی اون قرار گرفتی یکی از موارد بالا مناسبتر از بقیه هست. باید ببینی که اورهد مربوط به اتصال کانکشن فشار بیشتری رو وارد می کنه یا اور هد مربوط به برقرار نگهداشتن اون.
برای مثال اگر کار با لایه دیتا فقط 5 درصد از برنامه رو تشکیل میده، قطعا استفاده از راه حل اول منطقی نیست، بلکه بهتر روش سوم رو استفاده کنیم، اما اگر در اغلب قسمتهای برنامه باید با لایه دیتا سروکار داشته باشی، حالا باید بعد از بررسی فاکتورهایی مثل تعداد کلاینتهایی که می خوان از بانک استفاده کنن، اهمیت به روز بودن داده ها و این که در چه بازه زمانی باید داده های بانک با داده های وارد شده در برنامه منطبق بشن و ... باید از یکی از دو مدل Disconnected و یا اتصال دائم استفاده کنی.

Microsoft.net
پنج شنبه 24 اسفند 1385, 19:58 عصر
رویکرد سوم تحت معماری Disconnected در ADO.NET و با کرسر های سمت CLIENT مورد استفاده قرار میگیره

manager
پنج شنبه 24 اسفند 1385, 21:35 عصر
با نظر جناب آقای امید احمدی موافقم، نمی شه بهترین راه حل را برای مشکل فوق پیدا کرد و بسته به سناریو باید از روش ها و شگرد های متفاوتی استفاده کرد. نمی خوام مثال بزنم ولی برای اینکه ذهن شما را به این سمت هدایت کنم که سیستم های اطلاعاتی چقدر می تونند با هم تفاوت داشته باشند فقط بگم که در یک سیستمی ممکنه اینقدر تعداد اتصالات به دیتابیس زیاد باشه که شما مجبور باشید اصلا از اتصال به دیتابیس در بعضی از لحظات استفاده نکنید من با چنین سیستمی از نزدیک برخورد داشتم و راه حل های نظیر استفاده از سیستم Caching پیشرفته و یا استفاده از فایل های باینری موقتی و سایر الگوریتم ها شاید جواب گوی مسئله هم نباشه !!!!!!!
ولی در کل چند تا نکته هست که خیلی سریع و مختصر می نویسم، وقتی از اتصال به پایگاه داده استفاده می کنیم که فانتزی های زیر تا حد مطلوبی برآورده شده باشند :
1- بیشترین استفاده از دیتابیس
2- کمترین تعداد اتصال در یک زمان
3- کمترین اشغالی منابع سرور
4- از هیچ طریق دیگری به جز اتصال به پایگاه داده نمی توان به داده ها دسترسی پیدا کرد
5- حداقل زمان اتصال، حداقل جابجائی اطلاعات و حداکثر کارائی و بازدهی داده های دریافتی
6- و ..