640 likes | 1.41k Views
DBMS در يك سيستم كامپيوتري. اصول طراحي پايگاه دادهها. مهدی ایل بیگی دانشگاه پیام نور دماوند. جايگاه DBMS در يك سيستم كامپيوتري. برنامههاي كاربردي. ابزارهاي توليد برنامههاي كاربردي. DBMS. سيستم عامل. سختافزار. يك DBMS براي هر برنامه كاربردي. درخواست كاربر. سيستم عامل. AP 1.
E N D
DBMS در يك سيستم كامپيوتري اصول طراحي پايگاه دادهها مهدی ایل بیگی دانشگاه پیام نور دماوند
جايگاه DBMS در يك سيستم كامپيوتري برنامههاي كاربردي ابزارهاي توليد برنامههاي كاربردي DBMS سيستم عامل سختافزار
يك DBMS براي هر برنامه كاربردي درخواست كاربر سيستم عامل AP1 APi . . . . . . . . . . . DBMS1 DBMSi AM DB1 DB2
يك DBMS براي چند برنامه كاربردي تحت كنترل سيستم عامل درخواست كاربر سيستم عامل AP1 APi . . . . . . . . . . . DBMS AM DB
يك DBMS براي چند برنامه كاربردي با اجراي تحت كنترل DBMS درخواست كاربر سيستم عامل DBMS AP1 APi . . . . . . . . . . . AM DB
اسلوب هاي عملياتي Operational Mode • به طور كلي سه اسلوب عملياتي وجود دارد: • اسلوب يكجا: در این اسلوب برنامه ها جمع آوری شده و بصورت یکجا به سیستم داده می شود. زمان پاسخگویی به کاربر بسیار بالا خواهد بود. • اسلوب برخط: پردازش ها در واحد زمانی کوتاه و توسط تراکنش انجام می شوند. زمان پاسخگویی به کاربر کوتاه است ولی برای کنترل دسترسی به داده ها نیاز به کنترلر برخط وجود دارد. • اسلوب تعاملي: در ابتدا ارتباط پایانه کاربر با سیستم قطع است و این ارتباط بر اساس در خواست کاربر برقرار می شود. از نظر کاربر بسیار شبیه به اسلوب برخط است.
كاتالوگ سيستم و ديكشنري دادهها: متا دادهها • حاوي دادههايي است در مورد دادههاي ذخيرهشده در پايگاه دادههاي كاربر، و اين دادهها به متادادهها موسومند. • به کاتالوگ سیستم گاه دیکشنری داده ها نیز گفته می شود، اما در واقع دیکشنری داده ها حاوی اطلاعات بیشتری است. • ديكشنري دادهها معمولا جزئي از خود سيستم است و به دو صورت فعال و غيرفعال توليد ميشود. • دیکشنری فعال: هر بار که پایگاه داده مورد دستیابی قرار می گیرد مورد بررسی قرار گرفته و بر اساس اطلاعات درون آن درخواست کاربر انجام می شود. • دیکشنری غیرفعال: فقط توسط کاربران مجاز و تیم مدیریت پایگاه داده برای بدست آوردن اطلاعات استفاده می شود، و توسط خود سیستم از آن استفاده نمی شود.
اطلاعاتي كه در ديكشنري دادهها نگهداري ميشود • شماهاي خارجي • شماي ادراكي • شماي داخلي • رويههاي مربوط به تبديلات بين سه سطح معماري • شرح ساختار فيزيكي دادههاي ذخيرهشده • مشخصات و حقوق دستيابي كاربران به دادهها • مشخصات برنامههاي كاربردي توليد شده و ارتباط آن ها با درخواست هاي كاربران • مشخصات پايانههاي متصل به سيستم
اطلاعاتي كه در ديكشنري دادهها نگهداري ميشود • ارتباط بين برنامههاي كاربردي و دادههاي ذخيرهشده • قواعد جامعيت (قواعد مربوط به دقت و صحت داده های ذخیره شده) • ضوابط كنترل ايمني دادهها • مشخصات پيكربندي سختافزاري سيستم و رسانههاي ذخيرهسازي • اطلاعات متنوع آماري پايگاه داده و كاربران • توابع تعريفشده توسط كاربران
ديكشنري دادهها و استفادهكنندگان آن برنامهسازان سيستمي كاربران پاياني تيم مديريت پايگاه دادهها برنامهسازان كاربردي ديكشنري دادهها زيرسيستمهاي ايمني و مجازشماري كامپايلر/ پيشكامپايلر برنامه كاربردي مولد گزارش زيرسيستم جامعيت پايگاه دادهها بهينهساز پرس و جو زيرسيستم و ترميم پايگاه دادهها
درخواست کاربر از سیستم • درخواست کاربر می تواند بازیابی، درج، حذف یا بهنگام سازی باشد. • اگر درخواست بازیابی باشد سیستم باید به یکی از دو روش زیر داده های مورد نیاز کاربر را بسازد: • ساختن مستقیم: وقتی که داده مورد نظر کاربر در سطوح زیرین معماری و در نهایت در پایگاه داده متناظر داشته باشد. • ساختن غیرمستقیم: وقتی که داده مورد نظر کاربر در سطوح زیرین معماری و در نهایت در پایگاه داده متناظر نداشته باشد و وسیستم باید آن را از روی داده های موجود با پردازش بسازد (مانند معدل).
نگاشت بین سطوح • سه مدل نگاشت بین سطوح وجود دارد: • نگاشت خارجی/ادراکی: دستورات در سطح خارجی را به دستورهایی در سطح ادراکی تبدیل می کند. مثلا نام یک ستون در سطح خارجی StudentName است و در سطح ادراکی STDNAME می باشد، این تبدیل بر عهده این نگاشت است. • نگاشت ادراکی/داخلی: دستورهای سطح ادراکی را به دستورهای سطح داخلی و در نهایت به مجموعه ای از عملیات در فایل ها تبدیل می نماید. مثلا نام یک ستون در سطح ادراکی STDNAME است و در سطح ادراکی STDNAM می باشد، این تبدیل بر عهده این نگاشت است. • نگاشت خارجی/خارجی: در برخی از سیستم ها می توان روی یک دید خارجی دیدهای دیگری را ایجاد نمود.
مدير پايگاه دادهها • فردي است متخصص در پايگاه دادهها و با مسئوليت علمي، فني و نيز اداري در محدوده وظايفي كه عهدهدار است. • اين مدير همراه با يك تيم تخصصي كار ميكند كه به آن تيم مديريت پايگاه دادهها ميگويند. • DBA در معنای محدود: تیمی که پایگاه داده را برای بهره برداری نگهداری و ... از یک گروه ایجاد کننده پایگاه داده تحویل می گیرند. • DBA در معنای گسترده: گروهی که خود همه مراحل از ایجاد تا نگهداری و بهینه سازی و ... را برعهده دارد.
برخي مسئوليت هاي در تيم مديريت پايگاه دادهها • مدير دادهها • مدير پايگاه دادهها • مدير امور پژوهش-توسعه • مدير سيستم هاي كاربردي • مسئول تيم هاي برنامهسازي • مسئول كنترل كارايي DBMS • مسئول كنترل كارايي خود سيستم پايگاه دادهها • مسئول نظارت بر عمليات روي پايگاه دادهها • مسئول تماس با كاربران زيرمحيط هاي سازمان • مسئول تنظيم مستندات و وضع استاندهها
سرمایه های سازمان ها • در مديريت نوين سازمان ها، هر سازمان داراي پنج سرمايه است: 1- سختافزار 2- نرمافزار 3- داده 4- بودجه 5- تخصص
مزايا و معايب تكنولوژي پايگاه دادهها • مزاياي اين تكنولوژي بستگي به: • نوع سيستم (DBMS) • معماري سيستم پايگاه دادهها • ماهيت كاربردها دارد.
مزایای سیستم تک کاربره 1- هر بخش از سازمان، دادههاي خود را نگهداري و پردازش ميكند. 2- با استفاده از كامپيوترهاي شخصي، حجم دادههاي سيستم مركزي كاهش ميآيد. 3- پايگاه دادههاي ايجادشده روي كامپيوترهاي شخصي معمولا كوچك و مدلسازي، طراحي و پيادهسازي آن ها ساده است. 4- كار با اين سيستم ها و برنامهسازي در محيط آن ها ساده است. 5- با پيشرفت كامپيوترهاي شخصي، اين سيستم ها ميتوانند بسياري از كارهاي سيستم هاي كامپيوتري بزرگ را انجام دهند.
معایب سیستم تک کاربره 1- وجود تعداد زيادي از اين سيستم ها در يك سازمان باعث بروز افزونگي، ناسازگاري دادهها و ناايمني آن ها ميشود. 2- محوديت هاي سختافزاري سبب محدوديت اندازه فايل ها و نيز محدوديت سرعت پردازش باعث محدود شدن حجم پايگاه دادهها ميشود. 3- خود سيستم نميتواند قوي و كارا باشد (بدلیل عدم سخت افزار و سیستم عامل قوی). 4- ميزان ايمني، حفاظت و مکانیسم مجازشماری در آن ها ضعيف است، زیرا این سیستم ها معمولا تک کاربری است.
معایب سیستم تک کاربره 5- امكانات توليد نسخه پشتيبان در آن ها معمولا كم است. 6- اشتراكي كردن آن ها مشكلات تكنيكي جدي دارد. 7- اعمال مجموعه واحدي از استاندهها در كل سازمان ناممكن است. 8- معمولا كاربر اين محيط مهارت كافي در مدلسازي و طراحي بهينه پايگاه دادهها ندارد درنتیجه برنامه کاربدی تولید شده، کارایی مطلوب را ندارد. 9- ايجاد يك سيستم جامع و يكپارچه، براساس اين سيستم ها، دشوار و پرهزينه است.
مزایای سیستم چندکاربره 1- اشتراك دادهها 2- كاهش افزونگي 3- تعدد شيوههاي دستيابي و تسهیل دستیابی به دادهها 4- اجتناب از ناسازگاري دادهها 5- تامين همروندي بهتر 6- تسهيل پردازش تراكنشها 7- تضمين جامعيت دادهها
مزایای سیستم چندکاربره 8- حفظ محرمانگي دادهها 9- امكان اعمال استاندهها 10- تسهیل دریافت انواع گزارشات آماری 11- كاهش حجم برنامهها 12- تنوع كاربران 13- تسريع در دريافت پاسخ پرسشها 14- استفاده بهتر از سختافزار و ...
معایب سیستم چندکاربره 1- هزينه بالاي نرمافزار و سختافزار 2- هزينه بيشتر براي برنامهسازي 3- هزينه بالا براي انجام مهندسي دوباره به منظور تبديل سيستم از مشي ناپايگاهي به مشي پايگاهي 4- كند شدن اجراي بعضي از برنامههاي كاربردي (بدلیل کنترلهایی برای کنترل ایمنی، جامعیت و همروندی) 5- خطر آسيبپذيري دادهها (تضعیف ایمنی) 6- تاثيرات گستردهتر خرابيها و دشواري بيشتر ترميم آنها 7- پيچيده بودن سيستم و نياز به تخصص بيشتر
شرايط استفاده از تكنولوژي پايگاه دادهها 1- نياز به ايجاد يك سيستم يكپارچه اطلاعاتي 2- حجم زياد دادههاي سازمان و رشد پوياي آن 3- تغييرات مداوم در دادههاي ذخيرهشده 4- بالا بودن بسامد درخواستهاي كاربران 5- نياز به اعمال كنترل متمركز و دقيق روي كل دادهها
شرايط استفاده از تكنولوژي پايگاه دادهها 6- وجود ارتباطات پيچيده بين دادههای سازمان 7- زياد بودن ميزان دادههاي مشترك بين برنامههاي كاربردي 8- مدنظر بودن صحت، دقت و سازگاري دادهها 9- زياد بودن گزارشها 10- نياز به انجام پردازشهاي تحليلي برخط 11- نياز به سيستم دادهكاوي و كشف دانش در سازمان
استقلال دادهاي • استقلال داده يعني وابسته نبودن برنامههاي كاربردي به دادههاي ذخيرهشده. • انواع استقلال داده ای: • استقلال دادهاي فيزيكي (Physical Data Independence) • استقلال دادهاي منطقی (Logical Data Independence) دادههاي ذخيرهشده برنامههاي كاربردي DB
استقلال دادهاي فيزيكي • عبارتست از مصونيت ديدهاي كاربران و برنامههاي كاربردي در قبال تغييرات در سطح داخلي-فيزيكي پايگاه دادهها. • دلیل تامین استقلال داده ای فیزیکی در سيستم هاي رابطهاي جديد: 1- كاربران سطح خارجي در محيطي كاملا انتزاعي عمل ميكنند و برنامههاي كاربردي در اين سطح با فايلينگ پايگاه دادهها تماس ندارند. 2- بين سطح خارجي و داخلي، يك سطح انتزاعي ديگر واسط است و مانع تاثيرپذيري برنامههاي سطح خارجي از تغييرات درفايلينگ پايگاه دادهها ميشود. • نگاشت مفهومی/داخلی کلید استقلال فیزیکی دادهها است.
استقلال دادهاي منطقي • عبارتست از مصونيت ديدهاي كاربران و برنامههاي كاربردي در قبال تغييرات در سطح ادراكي پايگاه دادهها. • تغيير در سطح ادراكي يعني تغيير در طراحي منطقي پايگاه دادهها و تغيير در شماي ادراكي. • اين تغيير معمولا منجر به تغيير متناسب در سطح فايلينگ پايگاه ميشود. • تغيير در سطح ادراكي دو وجه دارد: 1- رشد پايگاه در سطح ادراكي 2- سازماندهي مجدد پايگاه در سطح ادراكي • نگاشت خارجی/مفهومی کلید استقلال منطقی دادهها است.
معماري سيستم پايگاه دادهها • منظور، چندي و چوني اجزاء تشكيلدهنده سيستم و نيز پيكربندي يا طرز تركيب اجزاء سيستم و چگونگي تعامل اجزاء با يكديگر است. • در اين معماري حداقل يك پايگاه دادهها، يك سيستم مديريت پايگاه دادهها، يك سيستم عامل، يك كامپيوتر با دستگاههاي جانبي و تعدادي برنامه كاربردي و كاربر وجود دارند.
انواع معماري سيستم پايگاه دادهها معماري متمركز انواع معماري معماري مشتري- خدمتگزار معماري توزيعشده معماري نامتمركز معماري چندپايگاهي معماري با پردازش موازي معماري موبايل
معماري متمركز Centralized Architecture • در اين معماري يک پايگاه داده روي يک سيستم کامپيوتري و بدون ارتباط با سيستم ديگر ايجاد مي شود، و یک DBMS داریم. كاربران پايانهاي نزديك كاربران پايانهاي دور كامپيوتر بزرگ كنترولر ديسك . . . . . . كنترولر چاپگر كنترولر نوار پايگاه دادههاي متمركز . . .
معماري مشتري – خدمتگزارClient – Server Architecture • هر معماري که در آن قسمتي از پردازش را يک برنامه، سيستم يا ماشين انجام دهد و انجام قسمت ديگري از پردازش را از برنامه، سيستم يا ماشين ديگر بخواهد معماري مشتري خدمتگزار ناميده مي شود. • دلیل اصلی این معماری تقصیم وظایف سیستم و در نتیجه افزایش همروندی عملیات و افزایش سرعت می باشد. OS D B M S DBMS AP . . . . DB OS ماشين خدمتگزار ماشين مشتري
طرح هاي معماري مشتري - خدمتگزار • از نظر تعداد مشتري و خدمتگزار: 1- يك مشتري – يك خدمتگزار 1- چند مشتري – يك خدمتگزار 2- يك مشتري – چند خدمتگزار 3- چند مشتري – چند خدمتگزار • از نظر پيكربندي سختافزاري: 1- معماري حول كامپيوتر بزرگ 2- معماري حول شبكه
طرح هاي معماري مشتري - خدمتگزار از نظر پيكربندي سختافزاري: الف- معماري حول كامپيوتر بزرگ Main Frame Centric مشتري PCi . . . . . . PC2 PC1 MAIN DB خدمتگزار
طرح هاي معماري مشتري - خدمتگزار از نظر پيكربندي سختافزاري: ب- معماري حول شبكه Network Centric مشتري PCi . . . . . . PC2 PC1 شبكه Files DB PCi PCk خدمتگزاران PCn Printer
مزاياي معماري مشتري – خدمتگزار در مقايسه با معماري متمركز • تقسيم پردازش • كاهش ترافيك شبكه • استقلال ايستگاه هاي كار • اشتراك دادهها
معماري توزيعشده • مجموعه اي از داده هاي ذخيره شده که منطقا به يک سيستم تعلق دارند ولي در مانه (گره یا کامپیوتر)هاي مختلف يک يا بيش از يک شبکه توزيع شده اند. نماي يك مانه در معماري توزيعشده: OS LAN WAN MNET DB D D B M S D C NETWORK
معماري توزيعشده با سه مانه كاربران دور كاربران دور كاربران نزديك كاربران نزديك … … … … OS1 OS2 DB1 DDBMS1 DB2 DDBMS2 DC APs DC APs NETWORK . LAN . WAN . MNET APs DC DB3 DDBMS3 OS3 … … DDB = {DB1+DB2+DB3}
ويژگي هاي معماري توزيعشده • مجموعهاي است از دادههاي منطقا مرتبط و اشتراكي. • دادهها به بخش هايي تقسيم و در مانهها توزيع شدهاند. • بعضي بخش ها ممكن است به طور تكراري در مانهها ذخيره شده باشند. • مانهها از طريق شبكه بهم مرتبطاند. • دادههاي هر مانه تحت كنترل يك DBMS است. • DMBS هر مانه، ميتواند برنامههاي كاربردي محلي را به طور خودكار اجرا كند. • هر DBMSحداقل در اجراي يك برنامه كاربردي سرتاسري مشاركت دارد. • کاربر برای دسترسی به داده مورد نیازش گویی که با یک سیستم تک مانه کار می کند. (خاصیت Transparency)
مزاياي معماري توزيع شده • سازگاري و هماهنگي با ماهيت سازمانهاي نوين. • كارايي بيشتر در پردازش دادهها. • دستيابي بهتر به دادهها. • اشتراك دادهها. • افزايش پردازش موازي. • كاهش هزينه ارتباطات. • تسهيل گسترش سيستم. • استفاده از پايگاه دادههاي از قبل موجود.
معايب معماري توزيعشده • پيچيدگي طراحي سيستم. • پيچيدگي پيادهسازي. • كاهش كارايي در برخي موارد. • هزينه بيشتر. • مصرف حافظه بيشتر.
معماري با پردازش موازي در اين گونه سيستم ها معمولا تعداد زيادي تراکنش در ثانيه و بطور موازي اجرا ميشود. خدمتگزاران برنامههاي كاربردي برنامه كاربر 1 برنامه كاربر n برنامه كاربر 2 . . . . . . . . . . . . مدير تماس هاي اجرايي كاربران مدير درخواست برنامه كاربر 1 مدير درخواست برنامه كاربر n مدير درخواست برنامه كاربر 2 . . . . . . . . . . . . مدير دادههاي برنامه 1 مدير دادههاي برنامه 2 مدير دادههاي برنامه m-1 مدير دادههاي برنامه m خدمتگزار پايگاه دادهها
طرح هاي معماري با پردازش موازي الف- معماري با حافظه مشترك: عيب: نميتوان بيش از 32 يا 64 پردازنده داشت. زيرا احتمال بروز تنگنا در باسهاي حافظهاي يا شبكه ارتباطي افزايش مييابد. مزيت: ارتباط بين پردازندهها به طور كارا انجام ميشود. P M P P P
طرح هاي معماري با پردازش موازي ب- معماري با ديسك هاي مشترك: مزيت: 1- عدم بروز تنگنا در باس هاي حافظهاي. 2- تسهيل تحمل خرابي (Fault Tolerance) عيب: دشواري در گسترش سيستم. P M P M P M P M
طرح هاي معماري با پردازش موازي ج- معماري بياجزاء مشترك: مزيت: تسهيل گسترش عيب: هزينه ارتباط و دستيابيهاي غيرمحلي زياد است. P M P M P M P M P M
طرح هاي معماري با پردازش موازي د- معماري سلسلهمراتبي: P P P M M M P P P P P P P P P
معماري سيستم چندپايگاهي S1 Sn شماي خارجي سراسري شماي خارجي سراسري شماي ادراكي سراسري S1 شماي خارجي محلي شماي خارجي محلي شماي خارجي محلي شماي خارجي محلي شماي ادراكي محلي شماي ادراكي محلي شماي داخلي محلي شماي داخلي محلي DB DB
معماري سيستم پايگاه هاي همراه سيستم عامل پايگاه دادههاي ميزبان DBMS برنامههاي كاربردي امكانات همرسانش امكانات همرسانش امكانات همرسانش كامپيوتر همراه D B M S D B M S برنامههاي كاربردي سيستم عامل برنامههاي كاربردي سيستم عامل پايگاه دادههاي همراه پايگاه دادههاي همراه