1. به نام خدا
پایگاه داده های توزیع شده
ارائه دهنده: لاله مداح علی
2. رئوس مطالب
تعریف
مفهوم شفافیت
مفهوم خودمختاری
مزایای پایگاه داده های توزیع شده
معایب پایگاه داده های توزیع شده
امنیت
سیستم های همگن و ناهمگن
مقایسه معماری موازی و توزیع شده
معماری کلاینت سرور
منابع
2
3. تعریف
را می توان به صورت مجموعه ای از دیتابیسهای مرتبط منطقی که از طریق )DDB( یک پایگاه داده توزیع شده
یک شبکه توزیع شده اند تعریف کرد و یک سیستم مدیریت دیتابیستوزیع شده یک نرم افزار است که یک پایگاه
داده توزیع شده را مدیریتمی کندضمن اینکه توزیع را هم از دید کاربرشفافنگاه می دارد.
برای اینکه یکدیتابیستوزیع شده باشد حداقل شروطی که باید داشته باشد:
که از طریق یکشبکه sitenode ارتباطنودهای دیتابیساز طریق شبکه. چندین کامپیوتر وجود دارد به نام
زیرساخت، داده ها و دستوراترا منتقل می کنند.
ارتباطاتمنطقی پایگاه داده های متصل. اطلاعاتدرون پایگاه داده ها باید بهصورتمنطقی مرتبطباشند.
نودها لزوما هم جنس)همگن( نیستند. از لحاظداده،سختافزار، و نرم افزار
3
4. شفافیت
مفهوم شفافیت در کل یعنی پنهان کردن جزئیات پیاده سازی از کاربر نهایی. در پایگاه داده های متمرکز قدیمی، شفاف
داده و نرم افزار روی چندین سایتکه ،DDB سازی فقط به استقلال داده فیزیکی و منطقی مربوط می شود. اما در یک
از طریق شبکه بهم متصل اند توزیع شده است پس انواع دیگر شفافیت هم تعریف می شود:
• شفافیت سازماندهی داده )شفافیت شبکه یا توزیع( : پنهان سازی جزئیات عملیاتی شبکه و قرارگیری داده در سیستم
توزیع شده .
به دلایلی چون در دسترس بودن، کارایی، و قابلیت اطمینان اشیا داده ای ممکن : )replication( • شفافیت تکرار
است در سایت های مختلف قرار گرفته باشند که این شفافیت باعث می شود که کاربر از وجود چنین کپی هایی بی
اطلاع بماند
• شفافیت قطعه بندی: دو نوع قطعه بندی داریم: عمودی و افقی. افقی یک رابطه را به چندین زیر رابطه می شکند که
زیرمجموعه ای از تاپل ها در رابطه اصلی است. قطعه بندی عمودی یک رابطه را به چندین زیررابطه می شکند که هر
کدام زیرمجموعه ای از ستون هاست
چگونه طراحی شده DDB • شفافیتطراحی: نیازی نیست کاربر بداند که
• شفافیتاجرایی : نیازی نیست که کاربر بداند یک تراکنش چگونه اجرا می شود
4
5. )autonomy( خودمختاری
تا چه حد نودها یا دیتابیس های متصل می توانند به طور مستقل از هم کار کنند
اتونومی طراحی: استقلال مدل داده ای و تکنیک های مدیریت تراکنش بین نودها
اتونومی ارتباطی: میزانی که یک نود می تواند روی اشتراک گذاری اطلاعات با دیگر نودها تصمیم بگیرد
اتونومی اجرایی: هر نود هر جورمایل است اجرا کند
5
6. مزایای پایگاه داده های توزیع شده
قابلیت اعتماد و دسترس پذیری بیشتر: به این دلیل که خطاها به سایت خود محدود می شوند و رو ی بقیه
دیتابیسهای متصل به شبکه تاثیر نمی گذارند
کارایی بهتر: وقتی یک دیتابیسبزرگتر روی چندین سایت توزیع می شود دیتابیسهای کوچکتری روی هر سایت
وجود دارد. بنابراین کوئری ها و تراکنش های محلی کارایی بهتری دارند به دلیل وجود پایگاه داده های محلی
کوچکتر؛ بسیاری از پرسو جوها و آپدیتها محلی هستند و گلوگاهشبکه نداریم
یکمشکل در یکقسمتاز سازمان بقیه شعبرا از کار نمی اندازد : Resilient
امنیت: دسترس ی کارکنان محدود می شود به حیطه کاری آنها
ترافیکشبکه کمتر می شود
اگر شبکهسازمان هم قطع شود دیتابیسهای محلی از کار نمی افتند
توسعه : اگر بخواهیم یک دیتابیس دیگر اضافه کنیم با افزودن یک نود به سادگی امکان پذیر است، در یک
محیط توزیع شده، توسعه سیستم به صورت افزودن داده، افزایش سایز دیتابیس یا افزودن پرو سسورهای
بیشتر راحتتر است
خطاها بیشتر بهصورتمحلی باقی می مانند نه اینکه کل سازمان را تحتتاثیر قرار دهند
6
7. معایب دیتابیس های توزیع شده
پیچیدگی : ایجاد و نگه داری یکدیتابیستوزیع شده پیچیده تر از دیتابیسمتمرکز است
نقاطدسترس ی زیادی در مقایسه با یکدیتابیسمتمرکز دارد
یکپارچگی داده : اطمینان از اینکه داده ها و ایندکسها خرابنیستندسختتر است
داده ها باید درستتقسیم بندی شوند تا سیستم کارا باشد
اگر تعاملاتزیاد باشد دیتابیستوزیع شده زیاد کارا نیستو متمرکز بهتر است
7
8. عملکردهای دیگر دیتابیس های توزیع شده
پردازش کوئری توزیع شده: دسترس ی به سایت های ریموت و انتقال کوئری ها بین سایت های مختلف از طریق
یک شبکه ارتباطی
مدیریت تراکنش توزیع شده: توانایی تعبیه استراتژی های اجرایی برای کوئری ها و تراکنش هایی که به داده ها از
چندین جا دسترس ی دارند و همزمان سازی دسترس ی به داده توزیع شده در ضمن حفظ یکپارچگی کل پایگاه داده
مدیریتداده های تکرار شده: تصمیم گیری در این مورد که از کدام کپی از داده های کپی شده استفاده کنیم
در ضمن حفظ ثبات بین کپی های یک داده
بازیابی: بازیابی از کرش سایت ها و خطاهایی مثل خطاهای لینک های ارتباطی
امنیت: تراکنش های توزیع شده باید با مدیریت مناسب امنیت داده و سطوح دسترس ی مناسب کاربران اجرا
شوند
. )metadata( مدیریتدایرکتوری )کاتالوگ( توزیع شده: یک کاتالوگ حاوی اطلاعات در مورد داده است
باشد یا برای هر سایت به طور جداگانه. تهیه و توزیع دایرکتوری بستگی DDB کاتالوگ ممکن است برای کل
به سیاست ها و طراحی دارد
8
9. امنیت در پایگاه داده های توزیع شده
• نقاط دسترس ی چندگانه : هرنود در سیستم باید از نظر فیزیکی و منطقی امن نگاه داشته شود
• کلیدهای رمزنگاری : قسمت های مختلف سیستم برای رمزنگاری ترافیک شبکه ، کلیدهای مخفی مبادله می
کنند بنابراین این مبادله کلیدها بیشتر شود احتمال لو رفتن آنها بیشتر می شود
• نود خراب : اگر یک نود ویروس ی شود یا هک شود، بقیه سیستم نیز آسیب پذیر خواهد شد
9
10. یک کاربر به پایگاه داده توزیع شده به دو صورت دسترس ی پیدا می کند :
اپلیکیشن های محلی : اپلیکیشن هایی که نیاز به داده های سایت های دیگر ندارند
اپلیکیشن های عمومی : اپلیکیشن هایی که به داده های سایت های دیگر نیاز دارند
در یک پایگاه داده توزیع شده همگن تمام دیتابیس ها دارای نرم افزارها و سخت افزارهای مشابه هستند و از
طریق یک اینترفیس مانند این است که یک پایگاه داده هستند
اما یک پایگاه داده توزیع شده ناهمگن ممکن است دارای سخت افزار، سیستم های عامل، سیستم های
مدیریت دیتابیس و حتی مدل های داده ای متفاوت برای دیتابیس های مختلف باشند
10
11. سیستم های مدیریت پایگاه داده های توزیع شده همگن
در این سیستم ها تمام سایت ها نرم افزارهای مشابهی دارند و از همدیگر اطلاع دارند و در پردازش درخواست
های کاربر با هم همکاری می کنند.
هرسایت این اختیار را دارد که شما یا نرم افزار را تغییر دهد.
به صورت یک سیستم واحد در نظر کاربر است
طراحی و مدیریت این سیستم ها ساده تر از سیستم های ناهمگن است
برای اینکه یک پایگاه داده همگن باشد باید شروط زیر را داشته باشد:
سیستم عامل مورد استفاده در هر مکان باید یکسان یا سازگار باشد
ساختمان داده مورد استفاده در هر مکان باید یکسان یا سازگار باشد
مورد استفاده در مکان باید یکسان یا سازگار باشد DBMS
11
12. سیستم های مدیریت پایگاه داده های توزیع شده ناهمگن
سایت های مختلف ممکن است دارای شما و نرم افزارهای متفاوت باشند. تفاوت در شما یک مسئله اساس ی
برای پردازش پرس و جو و تراکنش است
سایت ها ممکن است از وجود همدیگر بی اطلاع باشند و نتوانند به خوبی برای پردازش تراکنش با یکدیگر
همکاری کنند
نودها ممکن است نرم افزار، سخت افزار و ساختمان داده های متفاوتی داشته باشند یا ناسازگار باشند؛
سیستم عامل های مختلف ، اپلیکیشن های مختلف یا مدل های داده ای مختلف ممکن است در هر مکان
باشد. مثلا در یک جا ممکن است آخرین تکنولوژی مدیریت دیتابیس های رابطه ای را داشته باشیم اما در جایی
دیگر ممکن است از سیستم های قدیمی پردازش فایل یا ورژن قدیمی تر دیتابیس ها استفاده شود. یا در یک جا
داشته باشیم. UNIX و در جایی دیگر NT ممکن است سیستم عامل ویندوز
سیستم های ناهمگن معمولا زمانی استفاده می شوند که هر سایت فقط از سخت افزارها و نرم افزا رهای
خودش استفاده می کند
نیاز به ترجمه برای ارتباط بین سایتهای مختلف هست
12
13. سیستم های مدیریت پایگاه داده های توزیع شده ناهمگن
• دو نکته در مورد دیتابیس های ناهمگن
• توزیع شدگی باید شفاف باشد- کابرباید طوری با سیستم تعامل کند که انگار یک سیستم منطقی است
• تراکنش ها شفاف هستند- هر تراکنش باید یکپارچگی دیتابیس را در بین دیتابیس های دیگر حفظ کند. تراکنش
ها باید به چندین زیرتراکنش تقسیم شوند که هر زیرتراکنش یک دیتابیس را تحت تاثیر قرار می دهد
13
14. سیستم های همگن و ناهمگن
های محلی( از نرم افزارهای مشابهی استفاده کنند و تمام کاربران )کلاینت ها( DBMS • اگر تمام سرورها )یا
را همگن یا همجنس گویند در غیر اینصورت ناهمگن DBMS نیز از نرم افزارهای مشابهی استفاده کنند این
هستند.
تنها کار کنند سیستم ، خودمختاری محلی DBMS • اگر هیچ کدام از سایت های محلی نتوانند به صورت
ندارد. اما اگر تراکنش های محلی بتوانند به یک سرور دسترس ی مستقیم داشته باشند، سیستم درجه ای از
خودمختاری محلی دارد
14
15. توضیح شکل
در شکل(. A • برای یک دیتابیس متمرکز، خودمختاری کامل وجود دارد و فقدان کامل ناهمگنی و توزیع )نقطه
و federated • درجه خودمختاری محلی باعث ایجاد دو دسته بندی دیگر به صورت سیستم های
می شود. multidatabase
و یک سیستم C نقطه fedarated می بینیم یکی DDBM • در طول محور خودمختاری دو نوع
متمرکز خودمختار و مستقل DBMS در این سیستم ها هر سرور یک .D نقطه multidatabase
خودش دارد و درجه بالایی از خودمختاری محلی دارد. DBA است که کاربران محلی، تراکنش های محلی و
FDBS
و عملگرهای export schema • مجموعه ای از بخش های خود مختار که داده هایشان را از طریق
دسترس ی برای اعضای فدراسیون در دسترس می گذارند؛ هیچ نوع شمای مرکزی و واحدی که اطلاعات در
دسترس از اعضای فدراسیون را در بردارد، وجود ندارد
اما یک .)C • یک دید یا شمای کلی از دیتابیس هایی که توسط اپلیکیشن ها به اشتراک گذاشته شده اند )نقطه
خودمختاری محلی کامل دارد بدین صورت که یک شمای کلی ندارد اما اگر لازم mulidatabase سیستم
. )D باشد ایجاد می کند )نقطه
15
16. مفهوم خودمختاری است. FDBS و یک MDBS تفاوت اصلی بین یک
چهار نوع خودمختاری داریم:
خودمختاری طراحی: توانایی انتخاب طراحی صرفنظر از داده، زبان پرس و جو یا مفهومی سازی، عملکرد پیاده
سازی سیستم.
ها عمدتا ناش ی از خودمختاری طراحی است. FDBS ناهمگنی در
ها یا خیر. DBMS برای ارتباط با دیگر DBMS خودمختاری ارتباطی , عملیات
عملیاتهای درخواستی از جانب عملیات component DBMS خودمختاری اجرایی ،باعث می شود یک
های خارجی و محلی را کنترل کند.
این قدرت را می دهد که خودش را از فدراسیون جدا component DBS خودمختاری انجمنی یعنی به هر
عمل کند. DBS می تواند مستقل از هر FDBS کند یعنی هر
16
18. 18
مقایسه معماری موازی و توزیع شده
دو نوع معماری سیستم های چندپردازنده وجود دارد:
حافظه مشترک : پردازنده ها هم حافظه اولیه و هم ثانویه را به اشتراک می گذارند
دیسکمشترک: پردازنده ها فقط از حافظه ثانویه مشترک استفاده می کنند و هر کدام حافظه اولیه خود را دارند
های موازی هستند چون از پردازنده های موازی DBMS هایی که با این معماری ها توسعه یافتند DBMS
استفاده می کنند
وجود دارد: shared nothing یک معماری دیگر چند پردازنده به نام هیچ اشتراک
در این معماری هر پردازنده حافظه اولیه و ثانویه مربوط به خود را دارد و پردازنده ها از طریق یک شبکه پرسرعت
هست تفاوت های اصلی در عملیات آنها وجود DDB )باس یا سوییچ( در ارتباطند. اگرچه این معماری شبیه محیط
در هر نود ناهمگنی سخت افزار و DDB دارد . در این معماری بین نودها تقارن و همگنی وجود دارد اما در محیط
سیستم عامل رایج و عادی است؛ همچنین این معماری محیطی برای پایگاه داده های موازی است.
19. های موازی DBMS
هدف کلی : افزایش کارایی با اجرای چندین عملیات به صورت موازی
مزیت کلیدی : توسعه آن ارزان تر از افزایش قدرت پردازش یک پردازنده هست
چالش پیش رو : اطمینان از اینکه سربار اضافی ایجاد شده کارایی را زیر سوال نمی برد
19
20. معماری های پایگاه داده های موازی
حافظه مشترک
دیسک مشترک
هیچ اشتراک
20
21. 21
معماری های متفاوت پایگاه داده
شکل 1 معماری هیچ اشتراک. شکل 2 معماری شبکه ای با یک پایگاه داده مرکزی در هر سایت . شکل 3 یک معماری
واقعی از پایگاه داده توزیع شده
شکل 1
شکل 3
شکل 2
22. 22
معماری کلی پایگاه داده های توزیع شده
نشان داده شده که سازمان در آن به صورت یک دید یکپارچه و DDB در این شکل یک شمای کلی از معماری یک
ثابت که ساختار منطقی داده بین نودها را نشان می دهد نشان داده شده است. این دید به صورت شمای مفهومی
هر نود DDB که باعث ایجاد شفافیت شبکه می شود نشان داده می شود. برای ایجاد همگنی در )GCS( جهانی
برای خودش دارد بر اساس جزئیات فیزیکی در هر سایت. )LIS( شمای داخلی محلی
و نگاشت LCS ،GCS . تعیین می شود )LCS( ساختار منطقی داده در هر سایت توسط شمای مفهومی محلی
های تحت آن باعث ایجاد شفافیت قطعه بندی و تکرار می شود
24. 24
معماری کلاینت سرور
در معماری کلاینت سرور سه لایه وجود دارد:
-1 لایه نمایش )کلاینت( : اینترفیس کاربر و تعامل با کاربر. برنامه های این لایه اینترفیس های وبیا فرم ها هستند .
و HTML,XHTML,CSS,Flash,Java,JavaScript مرورگرهای وب هم چنین زبان هایی مانند
غیره.
این لایه ورودی خروجی کاربر، قبول دستورات کاربر و نمایش اطلاعات لازم به صورت صفحات وب پویا و ایستا
ارتباط HTTP مدیریت می کند. وقتی یک اینترفیس وب استفاده می شود این لایه با لایه اپلیکیشن توسط پروتکل
برقرار می کند.
25. 25
-2 لایه اپلیکیشن یا منطق کسب و کار
کوئری ها براساس ورودی کاربر از کلاینت فرموله می شوند یا نتایج کوئری ها فرمت می شوند و برای نمایش به
کلاینت ارسال می شوند. عملکردهای دیگری مثل بررس ی های امنیتی تعیین هویت و غیره می تواند در این لایه انجام
شود.
ODBC, این لایه می تواند با یک یا تعداد بیشتری دیتابیس یا دیتاسورس ارتباط برقرار کند با استفاده از
یا تکنیک های دیگر دسترس ی. JDBC ,SQL/CLI
-3 سرور پایگاه داده
این لایه درخواست های آپدیت و کوئری را از لایه اپلیکیشن می گیرد،پردازش می کند و نتایج را ارسال می کند. معمولا
استفاده می شود. نتایج کوئری SQL اگر رابطه ای یا ش ی-رابطه ای باشد و رویه های ذخیره شده بازیابی شوند
می شوند. xml هنگام انتقال بین اپلیکیشن سرور و دیتابیس سرور به فرم
27. 27
سرور SQL در این معماری اپلیکیشن سرور ممکن است یک دیکشنری باشد که شامل اطلاعات توزیع داده بین
های مختلف هست ، یا ماجول هایی برای تجزیه یک کوئری جهانی به تعدادی از کوئری های محلی که می تواند در
سایت های مختلف اجرا شود. تعامل بین یک اپلیکیشن سرور و یک دیتابیس سرور ممکن است بدین صورت باشد:
-1 اپلیکیشن سرور یک کوئری کاربر بر اساس ورودی از لایه کلاینت دریافت می کند و آن را به کوئری های سایت
مستقل تجزیه می کند. هر سایت کوئری به سایت سرور دیتابیس مناسب ارسال می شود.
Xml . -2 هر دیتابیس سرور کوئری محلی را پردازش می کند و نتیجه را به سایت اپلیکیشن سرور می فرستد
استانداردی برای تبادل داده است بنابراین ممکن است دیتابیس سرور نتیجه کوئری را قبل از ارسال به اپلیکیشن
تغییر دهد xml سروربه
-3 اپلیکیشن سرور نتایج زیرکوئری ها را ترکیب می کنند برای ایجاد کوئری های درخواست شده ، آن را به شکل
یا هر فرم دیگری که توسط کلاینت قابل قبول است در می آورد و برای نمایش به سایت کلاینت ارسال می HTML
کند
28. منابع
• Faundumentals of Database Systems,Elmesri ,
Navathe,sixth edition
• Wikipedia.org
• Teach-ict.com
• Dan Sucio,Parallel Databases,Spring 2010
28