ارسال پاسخ 
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
در مورد mysql
05-27-2017, 02:30 PM
ارسال: #2
RE: در مورد mysql
Stored procedureها و توابع
طرفداران MySQL تا همين اواخر از اين‌كه نرم‌افزار بانك‌اطلاعاتي محبوبشان ازStored procedureها پشتيباني نمي‌كند، دلخور مي‌شدند. اما از زمان عرضه نسخه 4، شركت MySQL AB وعده داده بود كه از اين قابليت در نسخه 5 پشتيباني خواهد كرد. بدين ترتيب براي نخستين بارStored procedureها در نسخه‌هاي 5 و 5.0.10 به كار گرفته شدند.
يك stored procedure ‌همان‌طور كه از نام آن مشخص مي‌شود، دستور فرايند يا تابعي است كه در محل خودِ بانك اطلاعاتي ذخيره‌سازي مي‌شود. stored procedure از چندين منظر داراي اهميت فراوان است. اصولاً يك stored procedure تابعي است كه برنامه‌نويس از آن براي انجام عمليات منطقي پيچيده بر روي داده‌هاي بانك اطلاعاتي استفاده مي‌كند. البته بايد توجه داشته باشيد كه چنين تابعي در خود بانك اطلاعاتي ذخيره مي‌شود. بدين ترتيب خواص متعددي كه به آن اشاره كرديم،‌ در اين شرايط تحقق مي‌يابند. نخست آن‌كه در يك مدل برنامه‌هاي كاربردي از نوع Client/server، انجام چنين عمليات پيچيده‌اي به هيچ وجه به سكويي كه بخش Client بر روي آن در حال اجرا خواهد بود، وابسته نيست. نكته ديگر آن‌كه در سيستم‌هاي شبكه، انجام عمليات پيچيده و سنگين تحت هيچ شرايطي منجر به ايجاد ترافيك در سطح شبكه و در نتيجه ايجاد تأخير نخواهد شد. زبان مورد استفاده براي نوشتن توابع ذخيره شده در بانك Stored procedure، زبان استانداردي است كه 2003 SQL نام دارد. اين زبان همان زباني است كه بسياري از بانك‌هاي اطلاعاتي از آن براي چنين منظور‌هايي استفاده مي‌كنند. به عنوان مثال بانك اطلاعاتي معتبر و معروف IBM به نام DB2 هم از همين زبان براي بيان روتين‌هاي توابع خود بهره مي‌گيرد.
مطلب ديگري كه نبايد آن‌را فراموش كرد آن است كه در نسخه آخر MySQL قابليت مهمي گنجانده شده است كه امكان بازگرداندن نتايج يك عبارت جستجويSELECT را به‌سمت كلاينت، فراهم مي‌كند. در صورتي‌كه نرم‌افزارMySQL از چنين قابليتي پشتيباني نمي‌كرد و برنامه‌نويسان ناگزير مي‌شدند تا يك cursor بر روي query باز كنند و نهايتاً يك resultSet بسازند. هرچند كه انجام چنين عملياتي براي برنامه‌نويسان بانك‌هاي اطلاعاتي كار دشواري محسوب نمي‌شود، اما با اين حال كاري است كه نياز به توجه كامل برنامه‌نويس براي برگرداندن نتيجه يك query به كاربر دارد. از آنجايي‌كه در كاربردهاي مشخصي، امكان بازگشت چندين resultSet به كاربر متصور است، اهميت ويژگي مورد بحث در چنين شرايط خاصي بيشتر نمايان خواهد شد. بر همين اساس توصيه مي‌شود در چنين شرايطي، حد‌المقدور از نسخه‌هاي بالاتر از نسخه 4.1 MySQL استفاده شود.
در پروژه‌هاي بزرگ و پيچيده‌تر،stored procedureها نقش ديگري نيز مي‌يابند. معمولاً مرسوم است كه در پروژه‌هاي بزرگ، يك يا دو نفر از برنامه‌نويسان خبره بانك‌هاي اطلاعاتي وظيفه مي‌يابند تا به حل مسائل پيچيده‌تر بپردازند و حاصل كار خود را به‌صورت يك عبارت SQL و در قالب يك Stored procedure تحويل دهند. بدين ترتيب مابقي برنامه‌نويسان مي‌توانند به پياده‌سازي بخش‌هاي ديگر پروژه بپردازند.


Replication
اگرچه اين ويژگي از ديرباز در نرم‌افزار MySQL مورد توجه بوده است، در نسخه جديد MySQL پيشرفت‌هاي قابل توجهي در ارتباط با اين موضوع از جهات سرعت اجرا و قابليت اطمينان صورت گرفته است. ويژگي replication از چندين جهت مهم تلقي مي‌شود.
نخست آن‌كه استفاده از replication تقريباً در اكثر نرم‌افزارهاي كاربردي بزرگ مقياس (كه كاربران متعددي در حال قرائت اطلاعات از جداول هستند)، روش متداولي به‌شمار مي‌رود. در چنين شرايطي به‌طور معمول كاهش سرعت اجراي نرم‌افزار كاربردي، هيچ چاره‌اي به‌جز بهره جستن از منابع سخت‌افزاري سريع‌تر نخواهد داشت. اما يك راه‌حل هوشمندانه ديگر نيز براي جبران مسأله سرعت اجرا وجود دارد. در اين روش مي‌توان يك بانك اطلاعاتي را فقط براي خواندن از اطلاعات به‌كار گرفت و از چندين بانك‌هاي اطلاعاتي ديگر براي نوشتن و ذخيره اطلاعات استفاده كرد.
كاربرد متداول ديگر replication، ايجاد يك پشتيبان زنده يا Hot Backup از بانك‌هاي اطلاعاتي به اصطلاح mission critical است. (اصطلاح mission critical به وضعيت‌هايي گفته مي‌شود كه در آن‌ها حتي توقف‌هاي لحظه‌اي نرم‌افزار، منجر به بروز خسارت خواهد شد. به عنوان مثال، نرم‌افزارهاي كنترلي دماي راكتور يك نيروگاه هسته‌اي، تشكيل چنين حالتي دارند. زيرا توقف لحظه‌اي فرايند كنترل دما در چنين كاربردهايي مسلماً بسيار خطرآفرين محسوب مي‌شود) سناريوي استفاده ازreplication در تهيه نسخه‌هاي <پشتيبان زنده> در كاربردهاي حساس چنان است كه به محض از كارافتادگي بانك اطلاعاتي اصلي، نسخه‌هاي پشتيبان، قابليت در مدار قرار دادن اطلاعات و جايگزين بانك اطلاعاتي اصلي شدن را دارا باشند. در يك طراحي مناسب، استفاده از replication مي‌تواند زمان‌هاي توقف يا Downtime را به حداقل برساند.

نتيجه‌گيري‌
مسير تغيير و تحولات و توسعه‌اي كه نرم‌افزار MySQL از نسخه 3 به بعد تا اين لحظه طي كرده است، مسيري دشوار و طولاني محسوب مي‌شود. اما تنها از طريق طي كردن چنين مسيرهايي يك نرم‌افزار، خصوصاً از نوع بانك‌هاي اطلاعاتي مي‌تواند خود را براي كاربرد در سطوح سازماني بزرگ (Enterprise) آماده سازد.


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پیام‌های داخل این موضوع
در مورد mysql - ali - 05-27-2017, 02:29 PM
RE: در مورد mysql - ali - 05-27-2017 02:30 PM

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان