پایان نامه پایگاه های داده توزیع شده
چکیده
پيشرفت سريع علم كامپيوتر و كاربرد وسيعي كه اين تكنولوژي در كليه امور زندگي بشر دارد از يك سو و حجم زياد اطلاعات و نياز بشر به سرعت ، دقت و انسجام اطلاعات از سوي ديگر موجب گرديد تا بانك هاي اطلاعاتي به عنوان يكي از موضوعات مهم و اساسي جامعه بشري مطرح شود. اگر زمانی بشر ماده و انرژی را دومولفه اساسی برای بقا و پیشرفت می دانست، اینک مولفه ای دیگر، یعنی اطلاعات بر آنها افزوده شده است .
اهمیت و اعتباری که تکنولوژی بانک اطلاعاتی در سالهای اخیر کسب کرده است ، به حدی است که اینک به مثابه تکنولوژی برتر، هم در محیطهای تک کاربر و هم در محیطهای چند کاربری به طور فراگیر مورد استفاده قرارمی گیرد. دیگرسیستم های ذخیره وبازیابی اطلاعات به کمک روشها و تکنیکهای غیر بانکی، متروک شده است. در یک سازمان ، داده از مهمترین سرمایه ها است . بانك اطلاعاتي با ساختار خاص خود ، ذخيره ساختن اطلاعات را براحتي ممكن ساخته و كاربران مجاز نيز به سادگي به اطلاعات دسترسي مي يابند . انواع متنوعي از پايگاه داده وجود دارد .
یکی ازمهمترین این انواع، پایگاه داده توزیع شده (Distribute Data Base) است .
بانك هاي اطلاعاتي توزيع شده متشكل از سايتهايي غير وابسته هستند كه هيچ منبعي را به صورت فيزيكي به اشتراك نمي گذارند. هر سايت مي تواند در اجراي تراكنشي كه منجر به دستيابي به اطلاعات يك يا تعداد بيشتري سايت ديگر مي شود شركت نمايد. تفاوت اصلي مابين بانكهاي اطلاعاتي متمركز و توزيع شده اين است كه در بانكهاي اطلاعاتي متمركز همه اطلاعات در يك نقطه متمركز شده است در حالي كه در بانكهاي اطلاعاتي توزيع شده ممكن است قسمتهاي مختلف اطلاعات در نقاط مختلف توزيع شده باشند و يا اينكه كپي هاي مختلفي از اطلاعات در نقاط مختلف نگهداري شوند.
در این پروژه سعي شده است پایگاه داده توزیع شده از جمله : انواع پایگاه داده توزیع شده ، تراکنش های توزیع شده ، معماری پایگاه و … مورد بررسی قرار گیرد .
درابتدا با پایگاه داده ، مفهوم بانك اطلاعاتي وهمچنین سيستم مديريت بانك اطلاعاتي آشنا می شویم وسپس به بررسی و معرفی پایگاه داده توزیع شده می پردازیم .
فهرست مطالب
فصل اول : پایگاه داده
1-1: مقدمه ای بر پایگاه داده ……………………………………………………………………………………2
1-2: تاریخچه پایگاه داده ………………………………………………………………………………………..3
1-3: مفهوم پایگاه داده …………………………………………………………………………………………..4
1-3-1: داده و اطلاعات ………………………………………………………………………………………..4
1-3-2: موجودیت ………………………………………………………………………………………………4
1-3-3: صفت خاصه ……………………………………………………………………………………………5
1-3-3-1: روش غیر بانک اطلاعاتی ………………………………………………………………………5
1-3-3-2: روش بانک اطلاعاتی ……………………………………………………………………………5
1-4: تعریف بانک اطلاعاتی ……………………………………………………………………………………..6
1-5: سیستم مدیریت بانک اطلاعات (DBMS) ……………………………………………………………….6
1-5-1: محیط DBMS ………………………………………………………………………………………..7
1-5-1-1: داده ها …………………………………………………………………………………………….7
1-5-1-2: سخت افزار ……………………………………………………………………………………….7
1-5-1-3: نرم افزار ………………………………………………………………………………………….8
1-5-1-4: کاربران ……………………………………………………………………………………………8
1-5-1-5: اصول معماری سیستم های بانک اطلاعاتی ……………………………………………………8
1-5-2: وظایف DBMS ……………………………………………………………………………………….8
1-5-2-1: زبان تعریف داده ها DDL ……………………………………………………………………..9
1-5-2-2: زبان پردازش و مدیریت داده DML …………………………………………………………10
1-5-2-3: دیکشنری داده ها ……………………………………………………………………………….10
1-6: آشنايي با جداول و اجزاء تشكيل دهنده آنها در بانك هاي اطلاعاتي …………………………………..10
1-6-1: رکورد ………………………………………………………………………………………………..11
1-6-2: فیلد ……………………………………………………………………………………………………11
1-7: آشنايي با روشهاي ارتباط و مدلهاي بانك هاي اطلاعاتي ……………………………………………..11
1-7-1: مدل سلسله مراتبی …………………………………………………………………………………..11
1-7-2: مدل شبکه ای ………………………………………………………………………………………..12
1-7-3: مدل رابطه ای ………………………………………………………………………………………..12
1-7-3-1: خواص ارتباطات رابطه ای ……………………………………………………………………13
1-7-3-2: کلید در مدل رابطه ای ………………………………………………………………………….13
1-7-3-3: سیستم بانک اطلاعات رابطه ای ………………………………………………………………14
1-8: مزایای سیستم های بانک اطلاعاتی ……………………………………………………………………..14
فصل دوم : معماری پایگاه داده
2-1: معماری پایگاه داده ……………………………………………………………………………………….17
2-1-1: سیستم های متمرکز ………………………………………………………………………………….17
2-1-2: سیستم های مشتری/ خدمتگزار …………………………………………………………………….19
2-1-3: سیستم های موازی …………………………………………………………………………………..23
2-1-3-1: اجرای پرس و جو ها در معماری موازی …………………………………………………….25
2-1-3-2: عملگرهای تک عملوندی در معماری موازی ………………………………………………..25
2-1-3-2-1: مرتب سازی ……………………………………………………………………………….25
2-1-3-2-2: عمل join …………………………………………………………………………………26
2-4: سیستم های توزیع شده …………………………………………………………………………………..27
فصل سوم : پایگاه داده توزیع شده
3-1: مقدمه ……………………………………………………………………………………………………..29
3-2: تعریف سیستم توزیع شده ……………………………………………………………………………….29
3-2-1: مواردی که در طراحی سیستم توزیع شده باید در نظر گرفت …………………………………….30
3-2-1-1: شفافیت داده …………………………………………………………………………………….30
3-2-1-2: قابلیت اطمینان …………………………………………………………………………………32
3-2-1-3: کارایی ………………………………………………………………………………………….32
3-2-1-4: قابلیت گسترش ………………………………………………………………………………..32
3-2-1-4-1: خصوصیات الگوریتم های غیرمتمرکز ………………………………………………..32
3-3: انواع پایگاه داده توزیع شده …………………………………………………………………………..33
3-3-1: پایگاه توزیع شده همگن …………………………………………………………………………..33
3-3-2: پایگاه توزیع شده نا همگن ……………………………………………………………………….33
3-4: ذخيره اطلاعات به صورت توزيع شده ………………………………………………………………..34
3-4-1: انواع Fragmentation ………………………………………………………………………..34
3-4-2: محاسن و معایب Replication ………………………………………………………………….37
3-5: تراکنشهای توزیع شده ………………………………………………………………………………….37
3-6: گونه های مختلف سیستمهای توزیع شده ……………………………………………………………..39
3-7: بخشهای اصلی سیستم عامل توزیع شده ………………………………………………………………39
3-7-1: نحوه دسترسی به منابع ………………………………………………………………39
3-8: مدلهايی برای تعامل فرآیندها …………………………………………………………….40
3-8-1: مدل کلاینت سرور ……………………………………………………………………40
3-8-2: مدل یکپارچه …………………………………………………………………………41
3-8-3: مدل پایپ …………………………………………………………………………….41
3-8-4: مدل RPC ……………………………………………………………………………41
3-9: دلایل توزیع داده ……………………………………………………………………………41
3-10: فاکتورهای توسعه سیستم پایگاه داده توزیع شده ……….. ……………………………………..42
3-11: قانونهای سیستم توزیع شده ………………………………………………………………………..42
3-11-1: قانون 1: استقلال محلی ………………………………………………………………………..43
3-11-2: قانون 2: عدم وابسته بودن به سایت مرکزی ………………………………………………..43
3-11-3: قانون 3: عملیات پیوسته ……………………………………………………………………….44
3-11-4: قانون 4: استقلال Location ………………………………………………………………….44
3-11-5: قانون 5: استقلال قطعات (Fragmentation) ………………………………………………45
3-11-6: قانون 6: استقلال Replication ……………………………………………………………..46
3-11-7: قانون 7: پردازش توزیع شده جستجوها ……………………………………………………..46
3-11-8: قانون 8: مدیریت توزیع شده Transaction ……………………………………………….47
3-11-9: قانون 9 : استقلال سخت افزاری ………………………………………………………………47
3-11-10: قانون 10: استقلال سیستم عامل …………………………………………………………….47
3-11-11: قانون 11: استقلال شبکه …………………………………………………………………….48
3-11-12: قانون 12:استقلال DBMS ………………………………………………………………….48
3-12: مديريت همزماني در بانكهاي اطلاعاتي توزيع شده ……………………………………………….48
3-12-1: مدیر قفل ساده …………………………………………………………………………………..48
3-12-2: کپی اصلی ………………………………………………………………………………………..49
3-12-3: پروتکل اصلی ……………………………………………………………………………………49
3-12-4: Biased Protocol ……………………………………………………………………………49
3-12-5: Timestamping ……………………………………………………………………………..50
3-13: مديريت بن بست (Dead lock) …………………………………………………………………..51
3-13-1: حل مسئله بن بست ……………………………………………………………………………..51
3-14: مدیریت کاتالوگ توزیع شده ………………………………………………………………………..52
3-14-1: نام گذاری اشیاء ………………………………………………………………………………..52
3-14-2: ساختار کاتالوگ …………………………………………………………………………………52
3-15: سنكرون كردن اطلاعت كپي شده ………………………………………………………………53
3-16: معماری سیستمهای توزیع شده ………………………………………………………………. 60
3-16-1: معماریهای مختلف برای سیستم مدیریت پایگاه داده های توزیع شده ……………………..60
3-16-1-1: سیستمهای مشتری/خدمتگزار ……………………………………………………….60
3-16-1-2: سیستم سرورهای همکار …………………………………………………………….61
3-16-1-3: سیستمهای میان افزار ………………………………………………………………61
پیوست ………………………………………………………………………………………………………………..63
منابع ………………………………………………………………………………………………………………….65
فهرست شکلها
فصل دوم
شکل2-1: معماری متمرکز ………………………………………………………………………………………….18
شکل2-2: معماری مشتری/خدمتگزار ……………………………………………………………………………..19
شکل2-3: ارتباط front-end و back-end ……………………………………………………………………20
شکل2-4: ارتباط بین پردازنده ها ………………………………………………………………………………….22
شکل2-5: معماری موازی ………………………………………………………………………………………….24
شکل2-6: معماری توزیع شده ……………………………………………………………………………………..27
فصل سوم
شکل3-1: پایگاه داده توزیع شده …………………………………………………………………………………30
شکل3-2: قطعه بندی افقی داده ها ……………………………………………………………………………….35
شکل3-3: قطعه بندی عمودی داده ها ……………………………………………………………………………36
شکل3-4: تراکنش توزیع شده ……………………………………………………………………………………38
شکل3-5: مدل کلاینت سرور در سیستم توزیع شده ……………………………………………………………40
شکل3-6: Timestamp ………………………………………………………………………………………..50
شکل3-7: انواع روشهای مدیریت update file ها …………………………………………………………..56
شکل3-8: نمودار مقایسه میزان مصرف دیسک ……………………………………………………………….57
شکل3-9: نمودار مقایسه زمان سنکرون شدن در پهنای باند کم ……………………………………………..58
شکل3-10: نمودار مقایسه زمان سنکرون شدن در پهنای باند بالا ………………………………………….59
شکل3-11: معماری توزیع شده …………………………………………………………………………………60
شکل3-12: سیستم مشتری/ خدمتگزار …………………………………………………………………………61
شکل3-13: سرورهای همکار …………………………………………………………………………………..62
فصل اول
پایگاه داده
1-1) مقدمه ای بر پایگاه داده
دادِگانٰ (پایگاه دادهها یا بانک اطلاعاتی) به مجموعهای از اطلاعات با ساختار منظم و سامانمند گفته میشود.این پایگاههای اطلاعاتی معمولاً در قالبی که برای دستگاه ها و رایانه ها قابل خواندن و قابل دسترسی باشند ذخیره میشوند . البته چنین شیوه ذخیرهسازی اطلاعات تنها روش موجود نیست و شیوههای دیگری مانند ذخیره سازی ساده در پرونده ها نیز استفاده میگردد . مسئلهای که ذخیرهسازی دادهها در دادگان را موثر میسازد وجود یک ساختار مفهومی است برای ذخیرهسازی و روابط بین دادهها است.
پایگاه داده در اصل مجموعهای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه میگیرد،اما کاربر وسیع و عمومی نیز دارد ، این وسعت به اندازه ای است که مرکز اروپایی پایگاه داده ( که تعاریف خردمندانهای برای پایگاه داده ایجاد میکند) شامل تعاریف غیر الکترونیکی برای پایگاه داده میباشد . در این نوشتار به کاربرد های تکنیکی برای این اصطلاح محدود میشود.
یک تعریف ممکن این است که : پایگاه داده مجموعه ای از رکورد های ذخیره شده در رایانه با یک روش سیستماتیک ( اصولی) مثل یک برنامه رایانهای است که میتواند به سوالات کاربر پاسخ دهد . برای ذخیره و بازیابی بهتر، هررکورد معمولا به صورت مجموعه ای از اجزای داده ای یا رویداد ها سازماندهی میگردد. بخش های بازیابی شده درهرپرسش به اطلاعاتی تبدیل میشود که برای اتخاذ یک تصمیم کاربرد دارد. برنامه رایانهای که برای مدیریت و پرسش و پاسخ بین پایگاههای دادهای استفاده میشود را مدیر سیستم پایگاه دادهای یا به اختصار (DBMS) مینامیم .خصوصیات وطراحی سیستم های پایگاه داده ای درعلم اطلاعات مطالعه میشود.مفهوم اصلی پایگاه داده این است که پایگاه داده مجموعه ای ازرکورد ها یا تکه هایی از یک شناخت است.نوعا در یک پایگاه داده توصیف ساخت یافتهای برای موجودیت های نگه داری شده در پایگاه داده وجود دارد : این توصیف با یک الگو یا مدل شناخته میشود.مدل توصیفی، اشیا پایگاههای داده و ارتباط بین آنها را نشان میدهد. روش های متفاوتی برای سازماندهی این مدل ها وجود دارد که به آنها مدلهای پایگاه داده گوییم. پرکاربردترین مدلی که امروزه بسیار استفاده میشود، مدل رابطهای است که به طورعام به صورت زیرتعریف میشود: نمایش تمام اطلاعاتی که به فرم جداول مرتبط که هریک از سطرها و ستونها تشکیل شده است(تعریف حقیقی آن در علم ریاضیات برسی میشود) . در این مدل وابستگی ها به کمک مقادیر مشترک در بیش از یک جدول نشان داده میشود.مدل های دیگری مثل مدل سلسله مراتب و مدل شبکهای به طور صریح تری ارتباط ها را نشان میدهند.
در مباحث تخصصی تر اصتلاح دادگان یا پایگاه داده به صورت مجموعهای از رکورد های مرتبط باهم تعریف میشود. بسیاری ازحرفهای ها مجموعهای از داده هایی با خصوصیات یکسان به منظورایجاد یک پایگاه دادهای یکتا استفاده میکنند.
معمولا DBMS ها بر اساس مدل هایی که استفاده میکنند تقسیم بندی میشوند : ارتباطی،شی گرا، شبکه ای و امثال آن. مدل های داده ای به تعیین زبانهای دسترسی به پایگاههای داده علاقه مند هستند. بخش قابل توجهی از مهندسی DBMS مستقل از مدل های میباشد و به فاکتور هایی همچون اجرا، همزمانی، جامعیت و بازیافت از خطاهای سخت افزاری وابسطه است.در این سطح تفاوت های بسیاری بین محصولات وجود دارد.
1-2) تاریخچه پایگاه داده
اولین کاربرد های اصطلاح پایگا ه داده به June 1963 باز میگردد ، یعنی زمانی که شرکت System Corporation Development مسئولیت اجرایی یک طرح به نام ” توسعه و مدیریت محاسباتی یک پایگاه دادهای مرکزی” را بر عهده گرفت . پایگاه داده به عنوان یک واژه واحد در اوایل دهه 70 در اروپا و دراواخر دهه 70 در خبرنامههای معتبرآمریکایی به کار رفت.(بانک دادهای یا Databank در اوایل سال 1966 در روزنامه واشنگتن کار رفت)
تصویر:اولین سیستم مدیریت پایگاه داده در دهه 60 گسترش یافت. ازپیشگامان این شاخه چارلزباخمن میباشد. مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را محیا میکند . در آن زمانها پردازش داده بر پایه کارت های منگنه و نوار های مغناطیسی بود که پردازش سری اطلاعات را مهیا میکند. دو نوع مدل دادهای در آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکهای شدکه ریشه درنظریات باخمن داشت و مدل سلسله مراتبی که توسطRockwell North American ایجاد شد و بعدا با اقباس از آن شرکت IBM محصول IMS را تولید نمود.
مدل رابطهای توسط E. F. Codd در سال 1970 ارائه شد. او مدل های موجود را مورد انتقاد قرار میداد . برای مدتی نسبتا طولانی این مدل درمجامع علمی مورد تایید بود. اولین محصول موفق برای میکرو کامپیوترها dBASE بودکه برای سیستم عامل هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال 1980 پژوهش برروی مدل توزیع شده(distributed database) وماشینهای دادگانی(database machines) متمرکز شد، اما تاثیرکمی بربازار گذاشت.در سال 1990 توجهات به طرف مدل شی گرا(object-oriented databases) جلب شد . این مدل جهت کنترل دادههای مرکب لازم بود و به سادگی بر روی پایگاه داده های خاص، مهندسی داده (شامل مهندسی نرم افزار منابع) و دادههای چند رسانهای کار میکرد.
در سال 2000 نوآوری تازه ای رخ داد و دادگان اکسامال (XML) به وجود آمد . هدف این مدل از بین بردن تفاوت بین مستندات و داده ها است و کمک میکند که منابع اطلاعاتی چه ساخت یافته باشند یا نه درکنارهم قرار گیرند.
1-3) مفهوم پایگاه داده
1-3-1) داده (Data) واطلاعات (Information)
دو اصطلاح داده و اطلاعات كه بيشتر اوقات به جاي يكديگر برده مي شوند در سيستمهاي اطلاعاتي مفاهيم متفاوتي دارند. داده ها در اين سيستمهاي اطلاعاتي عبارتند از : كلمات و ارزشهاي واقعي كه از طريق مشاهده و تحقيق بدست مي آيند درحالي كه اطلاعات داده هاي پردازش شده مي باشند كه براي گيرنده قابل درك بوده و با دانستن آن شروع به تصميم گيري مي كند. به عبارت ديگر داده نمودي از وقايع، معلومات،رخدادها ،پديده ها و مفاهيم مي باشد در حاليكه اطلاعات تكوين و پردازش يا تفسير داده بوده و شامل خواص ارتباط دهندگي و انتقال دهندگي مي باشد.
1-3-2) موجوديت ( Entity)
موجوديت مصداق كلي هر پديده،فرد يا شي ء يا مفهومي است كه مي خواهيم در مورد آن اطلاعاتي داشته باشيم به عنوان مثال اگر در نظر داريم يك سيستم پايگاه داده براي يك دبيرستان پياده سازي كنيم مواردي چون دانش آموزان ، دبيران،دروس ،كلاسها و …. جزء موجوديت هاي سيستم بشمار مي روند.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.