سیستم مدیریت پایگاه داده

دیتابیس

سیستم مدیریت پایگاه داده یا به طور خلاصه (DataBase Management System) DBMS مهمترین نرم افزاری در سیستم پایگاه داده است که به عنوان رابط بین پایگاه داده و کاربر و برنامه ها ی کاربردی عمل می نماید. کلیه فایل های پایگاه داده فقط در اختیار این نرم افزار قرار گرفته و دستیابی به آنها تنها از طریق DBMS امکان پذیر است. DBMS سرویس هائی جهت دسترسی داده در پایگاه داده فراهم می کند به نحوی که از کلیه خواص داده محافظت شود.


وظایف سیستم مدیریت پایگاه داده

وظایف DBMS در سیستم های مختلف تا حدودی متقاوت بوده و بستگی به نوع کاربران آن دارد. اما به طور کلی این وظایف عبارتند از:

 

۱٫ امکان تعریف پایگاه داده
۲٫ امکان ایجاد پایگاه داده
۳٫ امکان دستکاری داده ها
۴٫ بازیابی پایگاه داده
۵٫ بهنگام سازی پایگاه داده (عملیات درج، حذف و جایگزینی)
۶٫ تامین تسهیلاتی برای کاربر به منظور توسعه سیستم
۷٫ امکان سازماندهی مجدد
۸٫ کنترل امنیت و جامعیت داده ها
۹٫ ایجاد دیکشنری داده ها
۱۰٫ امکان کنترل کارائی


تراکنش

تراکنش (transaction) یک برنامه فعال است که دنباله ای از دستورات را شامل می شود و به طور خاص بعضی عملیات آن روی پایگاه داده است.

سه عمل تراکنشی خاص وجود دارد: start که نشان می دهد یک تراکنش دارد شروع می شود، commit که دلالت بر اتمام عادی تراکنش دارد و abort که بیان کننده پایان یافتن تراکنش به دلیل سقط آن است و کلیه اثرات ترکنش سقط شده باید rollback یا بی اثر شود. وقتی تراکنش commit می شود تاثیرش روی پایگاه داده باید دائمی شود.

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

۱٫ اتمیسیته (Atomicity)

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

۲٫ سازگاری (Consistency)

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

۳٫ ایزوله بودن (Isolation)

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

۴٫ ماندگاری (Durability)

از وقتی تراکنشی commit شد تاثیرش دائمی است؛ حتی اگر سیستم خراب شود داده در حالت درست خود باقی می ماند.


اجزای سیستم مدیریت پایگاه داده

وظایف DBMS توسط تعدادی مولفه نرم افزاری انجام می شود. هر کدام از این مولفه ها ممکن است مرکب از چند واحد کوچکتر باشند. تعدادی از سرویس های که توسط مولفه های DBMS داده می شوند در زیر لیست شده است:

۱٫ پردازش تراکنش (Transaction Processing)

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

۲٫ کنترل همروندی (Concurrency Control)

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

۳٫ ترمیم (Recovery)

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

۴٫ مدیریت ثبت احوال(Log Management)

هر اتفاقی در سیستم در یک فایل ذخیره می شود و توسط مدیریت ترمیم برای حفظ صحت و اعتبار پایگاه داده هنگام خرابی یا سقط سیستم استفاده می شود.

۵٫ واسطه زبانی (Language Interface)

دستوراتی را برای تعریف داده، کار کردن با آن دراختیار کاربران و برنامه های کاربردی قرار می دهد.

۶٫ تحمل پذیری خطا(Fault Tolerancy )

توانائی ارائه سرویس های قابل اطمینان توسط DBMS حتی در صورت بروز نقص را تحمل پذیری خطا می گویند. انواع خطاهائی که ممکن است پیش بیاید عبارتند از:
• خطای منطقی : تراکنش موفق نمی شود مثلا به دلیل ورودی بد، سرریزی
• خطای سیستمی : تراکنش موفق نمی شود مثلا به دلیل بن بست
• سقط سیستم : قطع برق، پاک شدن حافظه اصلی، پر شدن دیسک
• ناتوانی دیسک : خرابی هد، خرابکاری عمدی، آتش سوزی،

۷٫ کاتالوگ داده (Data Catalog)

یا دیکشنری داده یک پایگاه داده سیستمی شامل اطلاعاتی درباره داده، ارتباطات و قیدها در پایگاه اصلی است. گاهی به آن متاداده هم گفته می شود.

۸٫ امنیت (Security)

امنیت به محافظت داده در مقابل افشاشدن، تغییر و خرابی اشاره دارد. هر کابر و برنامه کاربردی امتیاز ویژه ای برای دسترسی به داده دارد. کاربران ممکن است دیدگاه های مختلفی نسبت به داده های پایگاه داده با توجه امتیازات ویژه خود داشته باشند. سیستم امنیتی همچنین، توسط رویه های شناسائی و مجوز، دسترسی به پایگاه داده را محدود می کند.

۹٫ مدیریت ذخیره سازی (Storage Management)

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

۱۰٫ مدیریت قفل (Lock Management)

هنگام استفاده اشتراکی از داده انواع مختلفی از قفل روی داده گذاشته می شود (مثل Read Lock و Write Lock).

۱۱٫ مدیریت بن بست (Deadlock Management)

بن بست وقتی اتفاق می افتد که تراکنش ها برای بدست آوردن منابع در یک دایره بسته قرار گیرند یعنی هر یک منبعی در اختیار دارد که مورد تقاضای دیگری است و درخواست منبعی را می کند که در اختیار تراکنش منتظر منبع است. در پایگاه داده منابع رکوردها هستند. مدیریت منبع مسئول رفع این مشکل هستند.


انواع سیستم های مدیریت پایگاه داده

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

سیستم مدیریت پایگاه داده توزیع شده (Distributed DataBase Management System)

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

سیستم مدیریت پایگاه داده بلادرنگ (Real-Time DataBase Management System)

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

سیستم مدیریت پایگاه داده تحمل پذیر خطا (Fault Tolerance DataBase Management System)

سیستم تحمل پذیر خطا سرویس هائی را دارد که با ناتوانی های اجزای سخت افزاری و نرم افزاری برخورد می کند. برای رسیدن به این منظورباید کلیه نقاطی که احتمال نقصی در آنها وجود دارد از قبل بررسی شده، ابزارهائی برای تشخیص، اصلاح و یا ترمیم آنها به نحوی طراحی شود که کمترین تاثیر را روی برنامه های کاربردی بگذارند. مکانیسم های RAID، Shadow Memory و کپی از جمله روش هائی هستند که استفاده می شوند.

سیستم مدیریت پایگاه داده مطمئن (Secure DataBase Management System)

در یک سیستم مطمئن کلیه اعمالی که کاربران و برنامه های کاربردی اجازه دارند انجام دهند همچنین زمان و مقدار انجام آنها کنترل می شوند. به عنوان مثال یک سیستم پرسنلی ممکن است درنظرداشته باشد به کلیه کاربران اجازه دستیابی به سابقه پرسنلی خودشان و استخراج اطلاعات شغلی شان را بدهد اما دسترسی به سابقه کارمندان دیگر یا حتی برخی اطلاعات مربوط به خودشان امکان پذیر نباشد. برای دادن چنین سرویسی سیستم پایگاه داده باید قابلیـت تعریف حقوق دسترسی و رسیدگی به آنها را درقبال کاربرانی که به داده دسترسی دارند داشته باشد.

سیستم مدیریت پایگاه داده ناهمگون (Hetrogenouse DataBase Management System)

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

سیستم مدیریت پایگاه داده چندرسانه ای (Multimedia DataBase Management System)

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

سیستم مدیریت پایگاه داده متحد (Federated DataBase Management System)

نسل جدید سیستم های مدیریت پایگاه داده سعی دارند اطلاعات جمع آوری شده از سنسورها را مستقیما ذخیره کنند. این سیستم ها از پایگاه های دانش نیز حمایت می کنند.

 

 

 

 

 

منبع : پی سی کد