دسته : کامپیوتر و IT
فرمت فایل : word
حجم فایل : 319 KB
تعداد صفحات : 91
بازدیدها : 534
برچسبها : بانک اطلاعاتی دیتابیس توزیع شده
مبلغ : 5000 تومان
خرید این فایلپروژه دانلود حاضر حاوی سه گزارش مفصل بوده که فهرست مطالب و چکیده ای از متن آنها در زیر آمده است همچنین تحقیق فوق دارای تمامی جداول و تصاویر مربوطه می باشد.
(گزارش شماره 1)
در این گزارش مباحثی کلی در مورد بانکهای اطلاعاتی توزیع شده، معماریهای آنها و مسائل و مشکلاتی که هنگام حرکت از بانکهای اطلاعاتی متمرکز به سمت بانکهای اطلاعاتی توزیع شده با آنها روبرو هستیم صحبت شده و تعدادی از کارهای جدیدی که در زمینه برطرف شدن مشکلات مربوطه انجام شده شرح داده شده است. از جمله یک کار جدیدی که در زمینه سنکرون کردن داده های کپی شده انجام شده در انتهای این گزارش شرح داده شده است.
فهرست مطالب این گزارش :
1. ذخیره اطلاعات به صورت توزیع شده
2. تراکنشهای توزیع شده
3. مدیریت همزمانی در بانکهای اطلاعاتی توزیع شده
4. مدیریت بن بست
5. سنکرون کردن اطلاعت کپی شده
6. منابع
مقدمه
بانک های اطلاعاتی توزیع شده متشکل از سایتهایی غیر وابسته هستند که هیچ منبعی را به صورت فیزیکی به اشتراک نمی گذارند. هر سایت می تواند در اجرای تراکنشی که منجر به دستیابی به اطلاعات یک یا تعداد بیشتری سایت دیگر می شود شرکت نماید. تفاوت اصلی مابین بانکهای اطلاعاتی متمرکز و توزیع شده این است که در بانکهای اطلاعاتی متمرکز همه اطلاعات در یک نقطه متمرکز شده است در حالی که در بانکهای اطلاعاتی توزیع شده ممکن است قسمتهای مختلف اطلاعات در نقاط مختلف توزیع شده باشند و یا اینکه کپی های مختلفی از اطلاعات در نقاط مختلف نگهداری شوند.
ذخیره اطلاعات به صورت توزیع شده به دو روش Replication یا Fragmentation و یا ترکیبی از این دو روش انجام می گیرد. در روش Replication دقیقا یک کپی فیزیکی از اطلاعات در نقاط مختلف سیستم یعنی سایر سایتها ذخیره می گردد ولی در روش Fragmentationاطلاعات به چند بخش یا پارتیشن تقسیم می شود و هر بخش در یکی از سایتها نگهداری می شود. در روش ترکیبی اطلاعات به چند بخش تقسیم می شوند و از تعدادی از بخشها و یا همه آنها کپی هایی در سایتهای مختلف نگهداری می شود. روش Fragmentation به دو طریق عمودی و افقی صورت می گیرد. در روش عمودی تقسیم بندی یک Relation روی فیلدها صورت می گیرد. یعنی هر بخش از اطلاعات مشتمل بر تعدادی از فیلدهای Relation است ولی در روش افقی تقسیم بندی روی رکوردهای Relation صورت می گیرد. برای مثال رکوردهای مربوط به ماه خرداد در یک بخش و رکوردهای مربوط به ماه تیر در بخش دیگری ذخیره می گردند. در روش عمودی برای دستیابی به Relation اولیه باید بین بخش های مختلف join بزنیم و در روش افقی برای دستیابی به آن باید از اجتماع استفاده نماییم.
محاسن روش Replication عبارتند از:
- در دسترس بودن :در شرایطی که یکی از سایتها بنا به دلیلی از بیفتد حداقل یک سایت دیگر وجود دارد که می تواند دسترسی به اطلاعات سایت از کار افتاده را امکان پذیر سازد. پس اگر درخواست دسترسی به اطلاعاتی که مربوط به یک سایت از کار افتاده است، صادر شود، پاسخگویی به این درخواست از طریق سایت دیگری که replication ای از سایت از کار افتاده را در اختیار دارد امکان پذیر می شود.
- افزایش توانایی موازی سازی : در صورتی که چندکپی از اطلاعات در سایتهای مختلف وجود داشته باشد در هنگام درخواست خواندن این اطلاعات می توان به صورت موازی بخشی از اطلاعات را از یک سایت و بخشهای دیگر آن را از سایتهای دیگر خواند و به این طریق عمل خواندن حجم زیادی از اطلاعات را به صورت موازی و با هزینه ای کمتر انجام داد.
معایب روش Replication :
1- افزایش سربار بروزرسانی اطلاعات :به دلیل اینکه از یک داده کپی های مختلفی در سایتهای مختلف وجود دارد در هنگام تغییر دادن این داده باید همه کپی های آن را نیز تغییر داد تا سازگاری در کل سیستم حفظ شود که این کار سرباز زیادی به همراه دارد.
2- پیچیدگی در مدیریت همزمانی :به دلیل اینکه از یک داده چند کپی وجود دارد مدیریت Lock در این روش پیچیدگی بیشتری را نسبت به روش متمرکز به همراه خواهد داشت.
به طور کلی روش Replication بازدهی عمل خواندن را بالا برده و در دسترس بودن ایجاد می کند ولی برای عمل نوشتن بهینه نیست و سربار اضافی دارد.
هر سایتی یک مدیر تراکنش دارد که وظیفه آن حفظ خصوصیت های ACID در همان سایت است. همچنین هر سایت یک هماهنگ کننده تراکنش (Transaction Coordinator) دارد که وظیفه آن این است که در مورد تراکنشهایی که از آن سایت شروع می شوند:
1- تراکنش را شروع کند
2- تراکنش را به تعدادی زیر تراکنش تقسیم کند و آنها را بین مدیران تراکنش سایتهای مربوطه توزیع کند.
3- تراکنش را به پایان برساند یعنی یا آن را commit کند و یا در صورت commit نشدن تراکنش را در همه سایتهای شرکت کننده در آن Abortکند.
علاوه بر مشکلاتی که در سیستمهای متمرکز به وجود می آید مانند خطای نرم افزاری، خطای سخت افزاری، خطای دیسک و ... نوع دیگری از خطاها در سیستم های توزیع شده وجود دارد که از این دست می توان به از کار افتادن یک سایت، گم شدن پیغامها، قطع شدن یک لینک ارتباطی و یا تقسیم شدن شبکه به دو بخش نا متصل اشاره نمود.
در سیستم توزیع شده ممکن است یک پیغام گم شود و یا خراب شود که برای رفع این مشکل از پروتکل های انتقالی مانند TCP استفاده می شود.
...
گزارش شماره 2
در این گزارش در مورد مکانیزمهای همزمانی صحبت شده است. در ابتدا مکانیزمهای هم زمانی در حالت متمرکز معرفی شده اند و مشکلات بکارگیری این روشها در حالت توزیع شده بررسی شده است و در انتها یک مکانیزم جالب و جدید به نام DSGT برای کنترل همزمانی در حالت توزیع شده معرفی شده است و جزئیات آن شرح داده شده است.
فهرست مطالب این گزارش :
1. مکانیزمهای سنتی برای کنترل همزمانی
1-1. روش S2PL
1-2. روش خوشبینانه (Optimistic)
2. روشهای جدید و بهبود یافته برای کنترل توزیع شده همزمانی
2-1. گراف توالی پذیری
2-2. روش تست گراف توالی پذیری نامتمرکز (DSGT)
3. مقایسه DSGTبا S2PL
4. Replication و پروتکل DSGT
5. منابع
بانکهای اطلاعاتی توزیع شده و یا متمرکز به صورت سنتی برای اطمینان از توالی پذیر بودن و قابل برگشت بودن زمانبندی ها از مکانیزمها و پروتکل های قفل گذاری (Locking) استفاده می کنند. پروتکلهای قفل گذاری تضمین می کنند که تراکنشهای برگ برگ شده(interleaved) و یا توزیع شده در اثر تاثیر شبکه ای به وجود آمده مجازا به صورت معادل با تراکنشهایی که نظم سریالی دارند اجرا شوند. یکی از متداولترین پروتکلهای قفل گذاری که در سیستمهای متمرکز و توزیع شده استفاده می شود قفل گذاری محدود در دو فاز یاstrict two phase locking نام داردکه به اختصار به آن S2PL می گویند.
روش S2PL
در فاز اول این پروتکل، یک تراکنش T ، روی اشیای داده ای مورد نیازش، قفلهای اشتراکی و یا انحصاری لازم را می گیرد. یک مکانیزم پیش فرض برای گرفتن قفل توسط تراکنش T این است که تراکنش برای گرفتن قفل بلاک می شود تا زمانی که امکان گرفتن قفل به وجود آید. خود DBMS شروط Mutual Exclusion را تضمین می کند و از گرفته شدن یک قفل انحصاری توسط دو تراکنش جلوگیری به عمل می آورد.
در فاز دوم تراکنش پس از پایان کارش تمام قفلهایی را که گرفته بود آزاد می کند.
S2Pl بانک اطلاعاتی را در یک وضعیت سازگار نگه می دارد. اگر دو تراکنش به دو بخش مستقل از اطلاعات بانک اطلاعاتی دسترسی داشته باشند می توانند به صورت همزمان قفل های مورد نیاز خود را دریافت کنند و کار خود را با موفقیت ادامه داده و به پایان ببرند. از طرف دیگر اگر دو تراکنش به داده های یکسانی دسترسی داشته باشند و بخواهند این داده ها را تغییر دهند فعالیتهای آنها به صورت سریال یا پشت سر هم انجام خواهد شد. یعنی تراکنشی که زودتر برای تغییر آن اطلاعات قفل دریافت کرده همه عملیات درون خود را انجام می دهد و به پایان می رساند و سپس کنترل به دست تراکنش دیگر می افتد و کارهایش را از اول تا آخر انجام می دهد. از آنجایی که در S2PL تراکنشهایی که زودتر قفل را گرفته اند تا زمانی که commit نشوند قفلهای در اختیار خود را آزاد نمی کنند، لذا در صورتی که تراکنشهای بزرگی باشند، سایر تراکنشها که منتظر این قفلها هستند ممکن است مدت انتظارشان خیلی طولانی بشود.
...
گزارش شماره 3
در این گزارش در مورد سیستمهای توزیع شده همتا به همتا و کاربردهای آنها توضیحاتی داده شده است. در ادامه یک الگوریتم جالب و قوی برای حل مساله انتخاب چندگانه به صورت توزیع شده بیان شده است و در انتها در مورد معماری data grid ها و مدیریت replication در آنها مطالبی از مقالات جدید ارائه شده است.
فهرست مطالب این گزارش :
1.بررسی الگوریتمهای انتخاب چندگانه در سیستم های همتا به همت
2-1.مشکلات موجود در استفاده از بانکهای اطلاعاتی توزیع شده مبتنی بر P2P
2-2.الگوریتم توزیع شده انتخاب چندگانه
2-3-مراحل الگوریتم
2-4.محاسبات پیچیدگی الگوریتم
2-5.آزمایشات تجربی
3.الگوریتم پویای Replication برای Data Grid های چند لایه
3-1.انواع الگوریتمهای موجود
3-2.معماری سیستم
3-3.پیشنهاد بهبود معماری
3-4.الگوریتمهای replication به صورت پویا
3-4-1.روش SBU
3-4-2.روش ABU
4.منابع
در پروژه انجام شده شبیه سازی که توسط آقای باصدا طراحی شده بود، به گونه ای تغییر داده شد که برای آزمایش یک پروتکل جدید به نام BGBR آماده شود. این شبیه ساز که به زبان جاوا نوشته شده است یک سیستم بانک اطلاعاتی توزیع شده همتا به همتا را که داده های آن به روش Fragmentation بین سایت های مختلف توزیع شده اند شبه سازی می کند. الگوریتم BGBR روشی برای تصمیم گیری در مورد چگونگی جا به جا کردن Data Fragmentها بین سایت ها با توجه الگوی دستیابی کاربران سیستم به صورت پویا و هوشمند است. این الگوریتم به گونه ای تصمیم گیری می کندکه در در حاصل کار هزینه جابجایی Data Fragmentها و همچنین هزینه پرس و جوهای انجام شده کمینه شود. طبق آزمایشاتی که انجام شد، مشخص گردید که این روش نسبت به دو روش قبلی یعنی روش Optimal و روش NNA بسیار بهتر عمل می کند.
در این پروژه که با استفاده از زبان Action Script و به صورت تحت وب پیاده سازی شده است امکان رسم توپولوژی توزیع شده دلخواه به صورت گرافیکی وجود دارد. به کمک این ابزار که Topology Editor نام دارد می توان از توپولوژی رسم شده فایل xml استخراج کرد و از فایل استخراج شده برای آزمایشات مربوط به تغییر Topology استفاده نمود و در واقع تاثیر تغییر توپولوژی را بر نتایج آزمایش کرد. در حال حاضر تنها نسخه مقدماتی از این پروژه پیاده سازی شده است و در آینده ای نزدیک پیاده سازی نسخه نهایی به پایان خواهد رسید.
در این مقاله الگوریتم BGBR توضیح داده شده است و در مورد ساختار آن و همچنین علت برتری آن بحث شده است. در نهایت نتایج آزمایشات تجربی انجام شده با شبیه ساز تغییر یافته آورده شده و به کمک این نتایج ادعاهای صورت پذیرفته به اثبات رسیده است.
...
خرید و دانلود آنی فایل