heterogenous and homogenous systems

28
دا ام خ ه ن ب ده ع ش ی وز ت هایه داده گا ای ن ی علله مداح ده: لا ن ه ه د* ازاب

Upload: lale-madahali

Post on 20-Dec-2014

266 views

Category:

Engineering


0 download

DESCRIPTION

معرفی و مقایسه سیستم های همگن و ناهمگن

TRANSCRIPT

Page 1: Heterogenous and homogenous systems

به نام خدا

پایگاه داده های توزیع شده

ارائه دهنده: الله مداح علی

Page 2: Heterogenous and homogenous systems

2

رئوس مطالب

تعریفمفهوم شفافیت

مفهوم خودمختاریمزایای پایگاه داده های توزیع شدهمعایب پایگاه داده های توزیع شده

امنیتسیستم های همگن و ناهمگن

مقایسه معماری موازی و توزیع شدهمعماری کالینت سرور

منابع

Page 3: Heterogenous and homogenous systems

3

تعریف

( توزی5ع ش5ده داده پایگ5اه از DDBیک ای ب5ه ص5ورت مجموع5ه ت5وان را می )دیت5ابیس ه5ای مرتب5ط منطقی ک5ه از طری5ق ی5ک ش5بکه توزی5ع ش5ده ان5د تعری5ف ک5رد و ی5ک سیس5تم م5دیریت دیت5ابیس توزی5ع ش5ده ی5ک ن5رم اف5زار اس5ت ک5ه ی5ک پایگ5اه ک5اربر دی5د از را هم توزی5ع اینک5ه کن5د ض5من را م5دیریت می توزی5ع ش5ده داده

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

ارتب5اط نوده5ای دیت5ابیس از طری5ق ش5بکه. چن5دین ک5امپیوتر وج5ود دارد ب5ه ن5ام sitenode ک5ه از طری5ق ی5ک ش5بکه زیرس5اخت، داده ه5ا و دس5تورات را منتق5ل

می کنند.پایگ5اه داده ه5ای متص5ل. اطالع5ات درون پایگ5اه داده ه5ا ارتباط5ات منطقی

باید به صورت منطقی مرتبط باشند.نوده5ا لزوم5ا هم جنس)همگن( نیس5تند. از لح5اظ داده، س5خت اف5زار، و ن5رم

افزار

Page 4: Heterogenous and homogenous systems

4

شفافیتمفهوم شفافیت در کل یعنی پنهان کردن جزئیات پیاده سازی از کاربر نهایی. در

و فیزیکی داده پایگاه داده های متمرکز قدیمی، شفاف سازی فقط به استقالل ، داده و نرم افزار روی چندین سایت DDBمربوط می شود. اما در یک منطقی

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

: پنهان سازی جزئیات شفافیت سازماندهی داده )شفافیت شبکه یا توزیع( •عملیاتی شبکه و قرارگیری داده در سیستم توزیع شده .

: به دالیلی چون در دسترس بودن، کارایی، و ( replicationشفافیت تکرار )•قابلیت اطمینان اشیا داده ای ممکن است در سایت های مختلف قرار گرفته باشند که این شفافیت باعث می شود که کاربر از وجود چنین کپی هایی بی

اطالع بماند: دو نوع قطعه بندی داریم: عمودی و افقی. افقی یک شفافیت قطعه بندی•

رابطه را به چندین زیر رابطه می شکند که زیرمجموعه ای از تاپل ها در رابطه اصلی است. قطعه بندی عمودی یک رابطه را به چندین زیررابطه می شکند که

هر کدام زیرمجموعه ای از ستون هاست چگونه طراحی شدهDDB: نیازی نیست کاربر بداند که شفافیت طراحی• : نیازی نیست که کاربر بداند یک تراکنش چگونه اجرا می اجرایی شفافیت•

شود

Page 5: Heterogenous and homogenous systems

5

(autonomy)خودمختاری

تا چه حد نودها یا دیتابیس های متصل می توانند به طور مستقل از هم کار کنند

: استقالل مدل داده ای و تکنیک های مدیریت تراکنش بین اتونومی طراحینودها

: میزانی که یک نود می تواند روی اشتراک گذاری اطالعات با ارتباطی اتونومیدیگر نودها تصمیم بگیرد

: هر نود هر جورمایل است اجرا کنداتونومی اجرایی

Page 6: Heterogenous and homogenous systems

6

مزایای پایگاه داده های توزیع شده

: ب5ه این دلی5ل ک5ه خطاه5ا ب5ه س5ایت خ5ود مح5دود قابلیت اعتم5اد و دس5ترس پ5ذیری بیش5ترم5ی شون5د و روی 5بقیه دیتابیس 5های م5تصل به5 شبکه 5تاث5یر 5نمی گ5ذارند

: وق5تی ی5ک دیت5ابیس بزرگ5تر روی چن5دین س5ایت توزی5ع می ش5ود دیت5ابیس کارایی به5تره5ای5 5کوچک5ت5ری ر5وی 5ه5ر س5ای5ت و5ج5ود5 دارد5.5 بن5ابرا5ین ک5وئ5ری ه5ا5 5و ت5راک5نش ه5ای مح5لی ک5ا5رایی ب5ه5ت5ری 5دارن5د5 ب5ه 5دلی5ل وج5ود پ5ایگ5اه5 دا5ده ه5ای مح5لی5 کوچ5ک5تر؛ 5بس5یا5ری از پ5ر5س و

جوها و آپ5دیت ها5 محلی هست5ند و گل5وگاه ش5بکه ن5داریمResilient :ی5ک مش5کل در ی5ک قس5مت از س5ازمان بقی5ه ش5عب را از ک5ار نمی اندازد

: دسترسی کارکنان محدود می شود به حیطه کاری آنهاامنیت شبکه کمتر می شودترافیک

اگر شبکه سازمان هم قطع شود دیتابیس های محلی از کار نمی افتند : اگ5ر بخ5واهیم ی5ک دیت5ابیس دیگ5ر اض5افه ک5نیم ب5ا اف5زودن ی5ک ن5ود ب5ه س5ادگی توس5عه

ا5مک5ان پ5ذی5ر اس5ت5، در 5ی5ک محی5ط5 ت5وزی5ع ش5د5ه،5 تو5س5عه س5یس5ت5م ب5ه 5ص5ورت5 اف5زودن دا5ده، ا5فزایش 5سایز دیتابیس 5یا افز5ودن پرو5سسورها5ی بی5شتر راحت ت5ر است

بیش5تر ب5ه ص5ورت محلی ب5اقی می مانن5د ن5ه اینک5ه ک5ل س5ازمان را تحت ت5اثیر ق5رار خطاه5ادهند

Page 7: Heterogenous and homogenous systems

7

معایب دیتابیس های توزیع شده

: ایج5اد و نگ5ه داری ی5ک دیت5ابیس توزی5ع ش5ده پیچی5ده ت5ر از دیت5ابیس پیچی5دگیمتمرکز است

زیادی در مقایسه با یک دیتابیس متمرکز داردنقاط دسترسی داده نیس5تند یکپ5ارچگی ه5ا خ5راب این5دکس و ه5ا داده اینک5ه از اطمین5ان :سخت تر است

شوند تا سیستم کارا باشدتقسیم بندی داده ها باید درست باش5د دیت5ابیس توزی5ع ش5ده زی5اد ک5ارا نیس5ت و متمرک5ز به5تر تع5امالت زی5اد اگ5ر

است

Page 8: Heterogenous and homogenous systems

8

عملکردهای دیگر دیتابیس های توزیع شده

: دسترسی به سایت های ریموت و انتقال پردازش کوئری توزیع شدهکوئری ها بین سایت های مختلف از طریق یک شبکه ارتباطی

: توانایی تعبیه استراتژی های اجرایی برای مدیریت تراکنش توزیع شدهکوئری ها و تراکنش هایی که به داده ها از چندین جا دسترسی دارند و

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

: تصمیم گیری در این مورد که از کدام کپی شده تکرار های داده مدیریتاز داده های کپی شده استفاده کنیم در ضمن حفظ ثبات بین کپی های یک

داده: بازیابی از کرش سایت ها و خطاهایی مثل خطاهای لینک های بازیابی

ارتباطی: تراکنش های توزیع شده باید با مدیریت مناسب امنیت داده و امنیت

سطوح دسترسی مناسب کاربران اجرا شوند: یک کاتالوگ حاوی اطالعات در شده )کاتالوگ( توزیع دایرکتوری مدیریت

باشد DDB( . کاتالوگ ممکن است برای کل metadataمورد داده است )یا برای هر سایت به طور جداگانه. تهیه و توزیع دایرکتوری بستگی به

سیاست ها و طراحی دارد

Page 9: Heterogenous and homogenous systems

9

امنیت در پایگاه داده های توزیع شدهنقاط دسترسی چندگانه : هرنود در سیستم باید از نظر فیزیکی و منطقی •

امن نگاه داشته شودکلیدهای رمزنگاری : قسمت های مختلف سیستم برای رمزنگاری ترافیک •

شبکه ، کلیدهای مخفی مبادله می کنند بنابراین این مبادله کلیدها بیشتر شود احتمال لو رفتن آنها بیشتر می شود

نود خراب : اگر یک نود ویروسی شود یا هک شود، بقیه سیستم نیز آسیب •پذیر خواهد شد

Page 10: Heterogenous and homogenous systems

10

یک کاربر به پایگاه داده توزیع شده به دو صورت دسترسی پیدا می کند :

اپلیکیشن های محلی : اپلیکیشن هایی که نیاز به داده های سایت های دیگر ندارند

اپلیکیشن های عمومی : اپلیکیشن هایی که به داده های سایت های دیگر نیاز دارند

در یک پایگاه داده توزیع شده همگن تمام دیتابیس ها دارای نرم افزارها و سخت افزارهای مشابه هستند و از طریق یک اینترفیس مانند این است که

یک پایگاه داده هستنداما یک پایگاه داده توزیع شده ناهمگن ممکن است دارای سخت افزار،

سیستم های عامل، سیستم های مدیریت دیتابیس و حتی مدل های داده ای متفاوت برای دیتابیس های مختلف باشند

Page 11: Heterogenous and homogenous systems

11

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

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

هرسایت این اختیار را دارد که شما یا نرم افزار را تغییر دهد.به صورت یک سیستم واحد در نظر کاربر است

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

DBMSمورد استفاده در مکان باید یکسان یا سازگار باشد

Page 12: Heterogenous and homogenous systems

12

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

سایت های مختلف ممکن است دارای شما و نرم افزارهای متفاوت باشند. تفاوت در شما یک مسئله اساسی برای پردازش پرس و جو و تراکنش

استسایت ها ممکن است از وجود همدیگر بی اطالع باشند و نتوانند به خوبی

برای پردازش تراکنش با یکدیگر همکاری کنند نودها ممکن است نرم افزار، سخت افزار و ساختمان داده های متفاوتی

داشته باشند یا ناسازگار باشند؛ سیستم عامل های مختلف ، اپلیکیشن های مختلف یا مدل های داده ای مختلف ممکن است در هر مکان باشد. مثال در

یک جا ممکن است آخرین تکنولوژی مدیریت دیتابیس های رابطه ای را داشته باشیم اما در جایی دیگر ممکن است از سیستم های قدیمی

پردازش فایل یا ورژن قدیمی تر دیتابیس ها استفاده شود. یا در یک جا داشته UNIX و در جایی دیگر NTممکن است سیستم عامل ویندوز

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

از سخت افزارها و نرم افزارهای خودش استفاده می کندنیاز به ترجمه برای ارتباط بین سایتهای مختلف هست

Page 13: Heterogenous and homogenous systems

13

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

دو نکته در مورد دیتابیس های ناهمگن•توزیع شدگی باید شفاف باشد- کابرباید طوری با سیستم تعامل کند که •

انگار یک سیستم منطقی استتراکنش ها شفاف هستند- هر تراکنش باید یکپارچگی دیتابیس را در بین •

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

Page 14: Heterogenous and homogenous systems

14

سیستم های همگن و ناهمگن

های محلی( از نرم افزارهای مشابهی DBMSاگر تمام سرورها )یا •استفاده کنند و تمام کاربران )کالینت ها( نیز از نرم افزارهای مشابهی

را همگن یا همجنس گویند در غیر اینصورت DBMSاستفاده کنند این ناهمگن هستند.

تنها کار کنند DBMSاگر هیچ کدام از سایت های محلی نتوانند به صورت •سیستم ، خودمختاری محلی ندارد. اما اگر تراکنش های محلی بتوانند به

یک سرور دسترسی مستقیم داشته باشند، سیستم درجه ای از خودمختاری محلی دارد

Page 15: Heterogenous and homogenous systems

15

توضیح شکلبرای یک دیتابیس متمرکز، خودمختاری کامل وجود دارد و فقدان کامل •

در شکل(.Aناهمگنی و توزیع )نقطه درجه خودمختاری محلی باعث ایجاد دو دسته بندی دیگر به صورت سیستم •

می شود. multidatabase و federatedهای fedarated می بینیم یکی DDBMدر طول محور خودمختاری دو نوع •

. در این سیستم ها هر D نقطه multidatabase و یک سیستم Cنقطه متمرکز خودمختار و مستقل است که کاربران محلی، DBMSسرور یک

خودش دارد و درجه باالیی از خودمختاری DBAتراکنش های محلی و محلی دارد.

FDBS exportمجموعه ای از بخش های خود مختار که داده هایشان را از طریق •

schema و عملگرهای دسترسی برای اعضای فدراسیون در دسترس می گذارند؛ هیچ نوع شمای مرکزی و واحدی که اطالعات در دسترس از

اعضای فدراسیون را در بردارد، وجود نداردیک دید یا شمای کلی از دیتابیس هایی که توسط اپلیکیشن ها به اشتراک •

خودمختاری mulidatabase(. اما یک سیستم Cگذاشته شده اند )نقطه محلی کامل دارد بدین صورت که یک شمای کلی ندارد اما اگر الزم باشد

( . Dایجاد می کند )نقطه

Page 16: Heterogenous and homogenous systems

16

مفهوم خودمختاری است.FDBS و یک MDBSتفاوت اصلی بین یک

چهار نوع خودمختاری داریم:

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

ها عمدتا ناشی از خودمختاری طراحی است. FDBSناهمگنی در ها یا DBMS برای ارتباط با دیگر DBMS, عملیات خودمختاری ارتباطی

خیر. عملیاتهای component DBMS،باعث می شود یک خودمختاری اجرایی

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

می تواند مستقل از FDBSکه خودش را از فدراسیون جدا کند یعنی هر عمل کند.DBSهر

Page 17: Heterogenous and homogenous systems

17

هاMDBMS ها و FDBMSتفاوت

ES1 ES2 ESn...

GCS

LIS1 LIS2 LISn...

LCS1 LCS2 LCSn...

ES1 ES2 ESn...

LIS1 LIS2 LISn...

LCS1 LCS2 LCSn...

Page 18: Heterogenous and homogenous systems

18

مقایسه معماری موازی و توزیع شده

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

گذارند : پردازنده ها فقط از حافظه ثانویه مشترک استفاده می کنند مشترک دیسک

و هر کدام حافظه اولیه خود را دارندDBMS هایی که با این معماری ها توسعه یافتند DBMS های موازی

هستند چون از پردازنده های موازی استفاده می کنند یک معماری دیگر چند پردازنده به نام هیچ اشتراکshared nothing

وجود دارد:در این معماری هر پردازنده حافظه اولیه و ثانویه مربوط به خود را دارد و

پردازنده ها از طریق یک شبکه پرسرعت )باس یا سوییچ( در ارتباطند. اگرچه هست تفاوت های اصلی در عملیات آنها وجود DDBاین معماری شبیه محیط

DDBدارد . در این معماری بین نودها تقارن و همگنی وجود دارد اما در محیطدر هر نود ناهمگنی سخت افزار و سیستم عامل رایج و عادی است؛ همچنین

این معماری محیطی برای پایگاه داده های موازی است.

Page 19: Heterogenous and homogenous systems

19

DBMSهای موازی

هدف کلی : افزایش کارایی با اجرای چندین عملیات به صورت موازی

مزیت کلیدی : توسعه آن ارزان تر از افزایش قدرت پردازش یک پردازندههست

چالش پیش رو: اطمینان از اینکه سربار اضافی ایجاد شده کارایی را زیرسوال نمی برد

Page 20: Heterogenous and homogenous systems

20

معماری های پایگاه داده های موازی

حافظه مشترکدیسک مشترکهیچ اشتراک

Page 21: Heterogenous and homogenous systems

21

داده پایگاه متفاوت های معماری

معماری شبکه ای با یک پایگاه داده 2 معماری هیچ اشتراک. شکل 1شکل یک معماری واقعی از پایگاه داده توزیع شده3مرکزی در هر سایت . شکل

1شکل

2شکل

3شکل

Page 22: Heterogenous and homogenous systems

22

معماری کلی پایگاه داده های توزیع شده

نشان داده شده که سازمان DDBدر این شکل یک شمای کلی از معماری یک در آن به صورت یک دید یکپارچه و ثابت که ساختار منطقی داده بین نودها را

نشان می دهد نشان داده شده است. این دید به صورت شمای مفهومی ( که باعث ایجاد شفافیت شبکه می شود نشان داده می شود. GCSجهانی )

( برای خودش LIS هر نود شمای داخلی محلی)DDBبرای ایجاد همگنی در دارد بر اساس جزئیات فیزیکی در هر سایت.

( تعیین LCSساختار منطقی داده در هر سایت توسط شمای مفهومی محلی ) و نگاشت های تحت آن باعث ایجاد شفافیت قطعه GCS ، LCSمی شود.

بندی و تکرار می شود

Page 23: Heterogenous and homogenous systems

23

شفافیت طراحیشفافیت تکرار

شفافیت قطعه بندی

Page 24: Heterogenous and homogenous systems

24

معماری کالینت سرور

در معماری کالینت سرور سه الیه وجود دارد:

: اینترفیس کاربر و تعامل با کاربر. برنامه های این - الیه نمایش )کالینت( 1

الیه اینترفیس های وب یا فرم ها هستند . مرورگرهای وب هم چنین زبان هایی

و غیره.HTML,XHTML,CSS,Flash,Java,JavaScriptمانند

این الیه ورودی خروجی کاربر، قبول دستورات کاربر و نمایش اطالعات الزم

به صورت صفحات وب پویا و ایستا مدیریت می کند. وقتی یک اینترفیس وب

ارتباط HTTPاستفاده می شود این الیه با الیه اپلیکیشن توسط پروتکل

برقرار می کند.

Page 25: Heterogenous and homogenous systems

25

الیه اپلیکیشن یا منطق کسب و کار- 2

کوئری ها براساس ورودی کاربر از کالینت فرموله می شوند یا نتایج کوئری ها

فرمت می شوند و برای نمایش به کالینت ارسال می شوند. عملکردهای دیگری

مثل بررسی های امنیتی تعیین هویت و غیره می تواند در این الیه انجام شود.

این الیه می تواند با یک یا تعداد بیشتری دیتابیس یا دیتاسورس ارتباط برقرار کند

یا تکنیک های دیگر دسترسی.ODBC, JDBC ,SQL/CLIبا استفاده از

سرور پایگاه داده- 3

این الیه درخواست های آپدیت و کوئری را از الیه اپلیکیشن می گیرد،پردازش می

کند و نتایج را ارسال می کند. معموال اگر رابطه ای یا شی-رابطه ای باشد و

استفاده می شود. نتایج کوئری هنگام SQLرویه های ذخیره شده بازیابی شوند

می شوند.xmlانتقال بین اپلیکیشن سرور و دیتابیس سرور به فرم

Page 26: Heterogenous and homogenous systems

26

Page 27: Heterogenous and homogenous systems

27

در این معماری اپلیکیشن سرور ممکن است یک دیکشنری باشد که شامل اطالعات

سرور های مختلف هست ، یا ماجول هایی برای تجزیه یک کوئری SQLتوزیع داده بین

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

تعامل بین یک اپلیکیشن سرور و یک دیتابیس سرور ممکن است بدین صورت باشد:

- اپلیکیشن سرور یک کوئری کاربر بر اساس ورودی از الیه کالینت دریافت می کند و 1

آن را به کوئری های سایت مستقل تجزیه می کند. هر سایت کوئری به سایت سرور

دیتابیس مناسب ارسال می شود.

- هر دیتابیس سرور کوئری محلی را پردازش می کند و نتیجه را به سایت اپلیکیشن 2

استانداردی برای تبادل داده است بنابراین ممکن است Xmlسرور می فرستد.

تغییر دهد xmlدیتابیس سرور نتیجه کوئری را قبل از ارسال به اپلیکیشن سروربه

- اپلیکیشن سرور نتایج زیرکوئری ها را ترکیب می کنند برای ایجاد کوئری های 3

یا هر فرم دیگری که توسط کالینت قابل HTMLدرخواست شده ، آن را به شکل

قبول است در می آورد و برای نمایش به سایت کالینت ارسال می کند

Page 28: Heterogenous and homogenous systems

28

منابع

• Faundumentals of Database Systems,Elmesri , Navathe,sixth edition

• Wikipedia.org• Teach-ict.com• Dan Sucio,Parallel Databases,Spring 2010