فایل هلپ

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایل هلپ

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

تحقیق درباره ی به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking) 17 ص

اختصاصی از فایل هلپ تحقیق درباره ی به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking) 17 ص دانلود با لینک مستقیم و پر سرعت .

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 19

 

چکیده : در این گزارش ما به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking) ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله کنترل همروندی به دو حالت read-wirte و write-write می‌باشد. در این مقال، تعدادی از تکنیکهای همزمان سازی برای حل هر یک از قسمتهای مساله بیان شده و سپس این تکنیکها برای حل کلی مساله با یکدیگر ترکیب می‌شوند.

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

1. مقدمه : کنترل همروندی فرآیندی است که طی آن بین دسترسی های همزمان به یک پایگاه داده در یک سیستم مدیریت پایگاه داده چند کاربره هماهنگی بوجود می‌آید. کنترل همروندی به کاربران اجازه می‌دهد تا در یک حالت چند برنامگی با سیستم تعامل داشته باشند در حالیکه رفتار سیستم از دیدگاه کاربر به نحو خواهد بود که کاربر تصور می‌کند در یک محیط تک برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است که یک کاربر هنگام استخراج داده توسط کاربر دیگر انجام می‌دهد. به دو دلیل ذیل کنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است:

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

یک مکانیزم کنترل همروندی در یک کامپیوتر از وضعیت دسترسی در سایر کامپیوترها اطلاعی ندارد.

مساله کنترل همروندی در چندین سال قبل کاملا مورد بررسی قرار گفته است و در خصوص پایگاه‌داده‌های متمرکز کاملا شناخته شده است. در خصوص این مسال در پایگاه داده توزیعی با توجه به اینکه مساله در حوزه مساله توزیعی قرار می‌گیرد بصورت مداوم راهکارهای بهبود مختلف عرضه می‌شود. یک تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یک راهکار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم کنترل همروندی توزیعی ارائه شده است که بسیاری از آنها پیاده سازی شده و در حال استفاده می‌باشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت می‌باشد. یکی از دلایل اینکه این پیچیدگی وجود دارد این است که آنها در اصطلاحات مختلف بیان می‌شوند و بیان های مختلفی برای آنها وجود دارد. یکی از دلایل اینکه این پیچدگی وجود دارد این است که مساله از زیر قسمتهای مختلف تشکیل شده است و برای هر یک از این زیر قسمتها یک زیر الگوریتم ارائه می‌شود. بهترین راه برای فائق آمدن بر این پیچدگی این است که زیر مساله ها و الگوریتمهای ارائه شده برای هر یک را در ی.ک سطح از انتزاع نگاه داریم.

با بررسی الگوریتمهای مختلف می‌توان به این حقیقت رسید که این الگوریتمها همگی ترکیبی از زیر الگوریتمهای محدودی هستند. در حقیقت این زیر الگوریتمها نسخه‌های متفاوتی از دو تکنیک اصلی در کنترل همروندی توزیعی به نامهای قفل دو مرحله ای و ترتیب برچسب زمانی می‌باشند.

همانطور که گفته شد، هدف کنترل همروندی مقابله با تزاحمهایی است که در اثر استفاده چند کاربر از یک سری داده واحد برای کاربران بوجود می‌آید است. حال ما با ارائه دو مثال در خصوص این مسائل بحث خواهیم نمود. این دو مثال از محک معروف TPC_A مقتبس شده اند. در این مثالها، یک سیستم اطلاعات را از پایگاه داده ها استخراج کرده و محاسبات لازم را انجام داده و در نهایت اطلاعات را در پایگاه داده ذخیره می‌نماید.

حالت اول را می‌توان بروزآوری از دست رفته نامید. حالتی را تصور کنید که دو مشتری از دو سیستم مجزا بخواهند از یک حساب مالی برداشت نمایند. در این حالت فرض کنید در غیاب سیستم کنترل همروندی، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جدید در سیستم میکنند. در این حالت در غیاب سیستم کنترل همروندی تنها آخرین درج در سیستم ثبت می‌شود. این حالت در شکل 1 نشان داده شده‌ است.

 

شکل 1 نمایش حالت بروز آوری از دست رفته

حالت دوم حالتی است که در آن اطلاعات صحیح از پایگاه داده استخراج نمی‌شود. در این حالت فرض کنید دو مشتری بخواهند کارهای ذیل را انجام دهند.

مشتری 1: بخواهد یک چک 1 میلیونی را به حساب X واریز و از حساب Y برداشت نماید.

مشتری 2: بخواهد بیلان حساب مالی X و Y شامل کل موجودی را نمایش دهد.

در غیاب کنترل همروندی همانطور که در شکل 2 نشان داده شده‌است، تزاحم بین پروسس ها بوجود خواهد آمد. فرض کنید در زمانی که مشتری 1 اطلاعات را از حساب Y خوانده و اطلاعات حساب X را دریافت نموده و 1 میلیون از حساب Y برداشت نموده ولی هنوز 1


دانلود با لینک مستقیم


تحقیق درباره ی به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking) 17 ص

ایجاد و مدیریت کلاستر شبه توزیعی Hadoop + Apache Spark روی سرور مجازی CentOS در ویندوز+ دانلود ماشین مجازی آماده استفاده

اختصاصی از فایل هلپ ایجاد و مدیریت کلاستر شبه توزیعی Hadoop + Apache Spark روی سرور مجازی CentOS در ویندوز+ دانلود ماشین مجازی آماده استفاده دانلود با لینک مستقیم و پر سرعت .

ایجاد و مدیریت کلاستر شبه توزیعی Hadoop + Apache Spark روی سرور مجازی CentOS در ویندوز+ دانلود ماشین مجازی آماده استفاده


ایجاد و مدیریت کلاستر شبه توزیعی Hadoop + Apache Spark روی سرور مجازی CentOS در ویندوز+ دانلود ماشین مجازی آماده استفاده

در مواردی که بکارگیری ابزارهای مدیریت Big Data با اهداف یادگیری، تست، آموزش و توسعه در یک چارچوپ پردازش خوشه ای مثل Hadoop  یا  Spark مدنظر باشد، معمولا" دو روش برای راه اندازی کلاستر آزمایشی پیشنهاد میشود : روش اول ، استفاده از بسته های آماده کلاستر مجازی که توسط شرکت هایی مثل کلودرا و هورتون ورکز ارائه شده .این روش علیرغم مزایایی همچون راه اندازی سرویسهای گوناگون وعدم نیاز به پیکربندی از طرف کاربر، دارای محدودیتهای زیادی هم هست. از جمله اینکه تقریبا" همه’ این شرکتها دسترسی کاربران ایرانی به محصولاتشان را تحریم کرده اند، چندین گیگا بایت حجم دارند و برای راه اندازی نیاز به کامپیوتری  با حافظه رم نسبتا" بالا دارند.(حداقل 8 –توصیه شده 16 گیگا بایت) دارند. روش دوم که ما در این آموزش از آن استفاده کرده ایم راه اندازی دستی (Manual) کلاستر روی یک ماشین واحد ، و با معماری شبه توزیعی است. در این روش، تمام مراحل پیکربندی را خودمان انجام میدهیم و خصوصیات و اجزای کلاستری که ایجاد میکنیم را با توجه به موضوع در دست پژوهش و امکانات سخت افزاری که در اختیار داریم میتوانیم تعیین کنیم. محصول حاضر،با توجه به نوپا بودن مفاهیم Big data  و کمبود منابع کاربردی و محدودیت هایی که در پژوهشهای حوزه Big Data برای دانش پژوهان، خصوصا " در  دسترسی و بکارگیری ابزارها وجود دارد، تهیه گردیده و اهداف اصلی زیر را دنبال میکند:

الف) علاقمندان به فعالیت در زمینه  Big Data ، شخصا" مهارت ایجادکلاستری را که برای اهداف تجقیقاتی نیاز دارند، بصورت اصولی در کوتاه ترین  زمان ممکن  فرا گیرند.

ب) ارائه ماشین مجازی آماده کلاستر شبه نوزیع شده  Hadoop+Apache Spark  برای کاهش محدودیتها در دسترسی به ابزارهای حوزه Big Data

الف) رویکردی که در این آموزش به آن توجه خاص شده،  این است که هر فرد علاقمند به کار با ابزارهای  Big Data ، بتواند با در دسترس ترین امکانات سخت افزاری و نرم افزاری مثل یک لپ تاپ یا PC  معمولی ویندوز ، با صرف حداقل هزینه و در کوتاه ترین زمان ممکن ، مهارت ایجاد  و کار با کلاستری را که برای اهداف تست و یادگیری  نیاز دارد را شخصا"  فرا گیرد. در یک دوره تحقیقی چند ماهه ،برای رسیدن به راهکاری کارامد، قابل اطمینان ، مطابقت بالا با محیط واقعی و در عین ساده  انواع روشها ، بسترها و نرم افزارهای مختلف مجازیسازی مثل Virtualbox ، Hyper-V ، Docker ، Vmware و انواع توزیعهای دسکتاپ و سرور  لینوکس بر پایه Ubuntu، RHEL، Debian، Pacman و RPM و  توزیعهای مختلف هدوپ و اسپارک ، را برای انتخاب مناسبترین گزینه بررسی و تست کردیم.بنابراین بکارکارگیری هر کدام از ابزارها ، نرم افزارها، و نسخه های بکارگرفته شده  در این آموزش بر دلایل منطقی و تجربی قابل دفاعی استوار است،که پرداختن به آنها خارج از حوصله’ این مقاله میباشد. روش کلی کار در این آموزش این است که با نرم افزار مجازیسازی Vmware workstation  در محیط ویندوز یک سرور مجازی لینوکس CentOs   minimal ایجاد میکنیم، و کلاستر مجازی هدوپ را با معماری شبه توزیعی(Pseudo Distributed Mode) در بستر این سرور مجازی بصورت قدم بقدم راه اندازی میکنیم.در گام بعدی، به پیکربندی چارچوب پردازشی Apache Spark  روی این کلاستر میپردازیم. بعد از راه اندازی کلاستر هدوپ/اسپارک با استفاده از چندین مثال و سناریوی عملی نحوه کار و مدیریت کلاستر پردازشی هدوپ/اسپارک ، از محیط ویندوز را با تمام جزئیات بهمراه بیش از 100 تصویر از تک تک مراحل کار پیش  میبریم. همانطور که میدانید چارچوب Hadoop از دولایه’ اصلی فایل سیستم توزیع شده Hdfs   و مدیر خوشه Yarn تشکیل شده و پارادایم پردازشی آن بر مبنای مدل Map-reduce پایه میباشد. مدل پایه’  Map-reduce ضمن اینکه مدتها  بعنوان مدل اصلی در پلتفرم های Big Data مورد استفاده قرار گرفته، لیکن بدلیل هزینه’ زمانی و کندی در پردازش job  های تکراری ،خصوصا" در پردازشهای نزدیک به زمان واقعی (real-time)  همواره  مورد انتقاده بوده. بطوریکه ظهور مدل پردازش بسته ای مقیم در حافظه اصلی (in-memory Batch processing) و توسعه’ موتورهای پردازشی سریعتر مثل Apache Spark ، اخیرا"  توسعه دهندگان هدوپ را ناچار کرد که بفکر حذف لایه  پردازش و مدیریت کلاستر Yarn از لایه’ فایل سیستم HDFS  در نسخه جدید هدوپ بیفتند و بدین ترتیب عملا" مدل  Map-reduce  پایه بعنوان  مدل پردازشی  پیش کسوت  چارچوبهای پردازشی Big Data  با سابقه ای درخشان بازنشسته شد.  انگیزه’ اصلی از شکل گیری چارچوب پردازشی Apache Spark  بعنوان یکی از زیر پروژه های هدوپ جبران نقایص مدل پایه نگاشت-کاهش است. هسته اسپارک صرفا" یک موتور پردازشی است و فاقد هرگونه امکان ذخیره سازی است. ولی اسپارک این کمبود را با انعطاف پذیری بالایی که در یکپارچه شدن و تغذیه  از سایر فایل سیستمها و پایگاههای داده های رابطه ای و NOsql خارجی، بنحو موثری جبران میکند. یکی از مزایای معماری تلفیقی استفاده شده در این آموزش  این است که درحین کار با سناریوها و مثالها، سرعت پردازش مدل پایه Map-reduce ،را در مقایسه  با زمانیکه موتور پردازشی اسپارک در تعامل با لایه hdfs   هدوپ کار میکند ، عملا" لمس خواهیم کرد. 

 

ب) بدلایل زیادی ، برای اکثر ما کاربران ایرانی ، یک سیستم کامپیوتری مفهومی معادل یک PC با سیستم عامل ویندوز را در ذهن تداعی میکند.هر چند سعی شده هیچ  نکته ای در آموزش از قلم نیفتد، اما چون ممکن است در آغاز، کار با دستورات محیط لینوکس برای پیکر بندی یک کلاستر پردازشی، با آزمون وخطا همراه بوده یا زمانبر باشد، لذا برای دسترسی همگانی بهمراه این آموزش، اقدام  به ارائه ماشین مجازی آماده نیمه توزیعی هدوپ/ اسپارک ، با پیکربندی کامل نموده ایم و فایل فشرده آنرا در  کتابخانه دیجیتالی شخصی آپلود و لینک دانلود آنرا (باحجم 1 گیگابایت) درمتن مقاله به اشتراک گذاشته ایم . نرم افزارهای مورد نیاز  را قبلا" دانلود و نصب کرده ایم. این ماشین مجازی احتیاج به هیچگونه  تنظیمات و پیکربندی نداشته، در یک PC  ویندوز 64 بیتی با امکانات معمولی و با نصب نرم افزار مجازیسازی Vmware ، و یک نرم افزار شبیه ساز ترمینال لینوکس مثل Cygwin یا رابط putty آماده استفاده میباشد.ضمنا" دیتا ستهای بکار گرفته شده در این آموزش برای استفاده در فایل سیستم ماشین مجازی آماده موجود است.شما میتواید هر زمان که نیاز داشتید ، بدون نگرانی از ایجاد تغییر در نسخه اصلی ، یک نمونه از ماشین مجازی را اکسترکت کرده، و با آن کار کنید . 

 

لطفا" برای مشاهده ویدئوی راه اندازی ماشین مجازی آماده کلاستر شبه توزیعی spark/ hdp  اینجـــــا   کلیک فرمایید.

فهرست مطالب:

مقدمه          

فصل اول: نصب  SSH و Cygwin

ایجاد ماشین مجازی لینوکس CentOs  6.5 minimal   با VMware workstation   در ویندوز                    

تنظیم ویژگیهای ماشین مجازی  

استخراج مشخصات اینترفیسهای ماشین مجازی

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

ویرایشگر متنی vi  در لینوکس CentOS      

تعیین آدرس Gatway شبکه در ماشین مجازی CentOS          

تعیین HOSTNAME  با قالب FQDN برای VM              

اختصاص نام مستعار برای IP  آدرس CentOS VM  در ویندوز                       

تنظیمات دسترسی به اینترنت در ماشین مجازی Centos          

دانلود و نصب نرم افزارهای پیشنیاز از اینترنت در CentOS VM                    

پیکربندی جاوا  jdk-8         

پیکربندی اینترفیس Ethernet ماشین مجازی CentOS            

تست اتصال ssh ماشین محلی ویندوز و ماشین مجازی لینوکس 

تاثیرات فایروال و فیلترینگ جداول IP  در اتصالات شبکه      

غیر فعال کردن فیلترینگ جداول IP در ماشین مجازی لینوکس   

تست فایروال و فیلترینگ جداول IP                   

تنظیم passwordless login  بین ماشین محلی ویندوز و CentOS VM      

تنظیم passwordless login  داخلی ماشین مجازی CentOS  

انتقال فایل از ماشین محلی ویندوز به CentOS VM                  

بررسی حالتهای راه اندازی کلاستر Hadoop 

معماری کلاستر Hadoop  در حالت Pseudo Distributed Mode  (شبه توزیع شده)      

نحوه دانلود بسته باینریهای Hadoop  در ویندوز و انتقال آن به VM                 

نحوه دانلود بسته باینری Hadoop  بطور مستقیم از محیط VM  با ابزار wget

تنظیم متغیر محلی جاوا و hadoop در فایل profile ماشین مجازی           

ویرایش فایلهای پیکربنده بندی hadoop  برای حالت Pseudo Distributed Mode           

راه اندازی demon های dfs  و yarn        

دسترسی به رابط تحت وب  hdfs از مرورگر وب در ویندوز  

دسترسی  به Yarn web UI   

کار با دستورات اصلی مدیریت hdfs  در کلاستر hadoop   

ایجاد دایرکتوری کاربر در فایل سیستم hdfs   

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

تست عملکرد کلاستر شبه توزیعی هدوپ با مثال Wordcount Map-reduce

نحوه اجرای مثال Wordcount   Map-reduce             

دسترسی به فایل خروجی برنامه wordcount  از طریق hdfs web UI      

خواندن فایل خروجی برنامه  از hdfs  در ترمینال             

توقف کلاستر هدوپ           

راه اندازی چارچوب Apache Spark  در کلاستر شبه توزیعی hadoop  در حالت Local

مفاهیم پایه ای در چارچوب پردازشی آپاچی اسپارک           

مزایای موتور  پردازشی آپاچی اسپارک نسبت به محیطهای پردازشی مشابه    

پوسته  اسپارک (Spark-Shell)

ساختار داده ای دیتاستهای توزیعی- منعطف (RDD) در اسپارک

مثال عملی sparkبرنامه word Count در محیط پردازشی Apache Spark            

ارسال دیتاست  نمونه از ویندوز به VM       

ایجاد دایرکتوری برای ذخیره دیتاست نمونه در hdfs          

ارسال دیتاست از فایل سیستم  VM به hdfs             

ایجاد RDD  با خواندن فایل ورودی از hdfs با Spark-Scala API            

اعمال transformation برای شناسایی کلمات در متن   

اعمال transformation  برای تعیین جفتهای کلید- مقدار         

اعمال transformation  برای کاهش کلیدهای مشابه    

تثبیت RDD  خروجی در حافظه اصلی         

چاپ خروجی برنامه Wordcount Spark در ترمینال   

مثال عملی spark  : برنامه تطابق الگو در اسناد متنی (Pattern matching) با Scala               

استخراج تعداد بازدید کنندگان از وبسایت بر اساس زمان بازدید با Log  file        

مثال عملی spark- نمونه برنامه متن کاوی با Scala    

مهاجرت دایرکتوری hadoop  به خارج از دایرکتوری کاربر root

pyspark  (رابط برنامه نویسی با زبان  pyton  در محیط آپاچه اسپارک)          

مثال عملی spark : ایجاد برنامه wordcount  با pyspark به زبان python          

دانلود و کار با بسته’ ماشین مجازی آماده نیمه توزیعی hdp/spark  

مثال عملی Spark Wordcount با بسته’ ماشین مجازی آماده نیمه توزیعی hdp/spark         

لینک دانلود بسته’ ماشین مجازی آماده نیمه توزیعی hdp/spark     

قالب: داکیومنت Word    صفحات :  92

 

 

 

 


دانلود با لینک مستقیم


ایجاد و مدیریت کلاستر شبه توزیعی Hadoop + Apache Spark روی سرور مجازی CentOS در ویندوز+ دانلود ماشین مجازی آماده استفاده

تحقیق درباره ویژگی های الگوریتمهای کنترل همروندی توزیعی

اختصاصی از فایل هلپ تحقیق درباره ویژگی های الگوریتمهای کنترل همروندی توزیعی دانلود با لینک مستقیم و پر سرعت .

تحقیق درباره ویژگی های الگوریتمهای کنترل همروندی توزیعی


تحقیق درباره ویژگی های الگوریتمهای کنترل همروندی توزیعی

فرمت فایل : WORD (لینک دانلود پایین صفحه) تعداد صفحات 33 صفحه

 

 

 

 

 

چکیده : در این گزارش ما به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking)   ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله کنترل همروندی به دو حالت read-wirte و write-write می‌باشد. در این مقال، تعدادی از تکنیکهای همزمان سازی برای حل هر یک از قسمتهای مساله بیان شده و سپس این تکنیکها برای حل کلی مساله با یکدیگر ترکیب می‌شوند.

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

 

  1. مقدمه : کنترل همروندی فرآیندی است که طی آن بین دسترسی های همزمان به یک پایگاه داده در یک سیستم مدیریت پایگاه داده چند کاربره هماهنگی بوجود می‌آید. کنترل همروندی به کاربران اجازه می‌دهد تا در یک حالت چند برنامگی با سیستم تعامل داشته باشند در حالیکه رفتار سیستم از دیدگاه کاربر به نحو خواهد بود که کاربر تصور می‌کند در یک محیط تک برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است که یک کاربر هنگام استخراج داده توسط کاربر دیگر انجام می‌دهد. به دو دلیل ذیل کنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است:
  2. کاربراان ممکن است به داده هایی که در کامپیوترهای مختلف در سیستم قرار دارند دسترسی پیدا کنند.
  3. یک مکانیزم کنترل همروندی در یک کامپیوتر از وضعیت دسترسی در سایر کامپیوترها اطلاعی ندارد.

مساله کنترل همروندی در چندین سال قبل کاملا مورد بررسی قرار گفته است و در خصوص پایگاه‌داده‌های متمرکز کاملا شناخته شده است. در خصوص این مسال در پایگاه داده  توزیعی با توجه به اینکه مساله در حوزه مساله توزیعی قرار می‌گیرد بصورت مداوم راهکارهای بهبود مختلف عرضه می‌شود. یک تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یک راهکار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم کنترل همروندی توزیعی ارائه شده است که بسیاری از آنها پیاده سازی شده و در حال استفاده می‌باشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت می‌باشد. یکی از دلایل اینکه این پیچیدگی وجود دارد این است که آنها در اصطلاحات مختلف بیان می‌شوند و بیان های مختلفی برای آنها وجود دارد. یکی از دلایل اینکه این پیچدگی وجود دارد این است که مساله از زیر قسمتهای مختلف تشکیل شده است و برای هر یک از این زیر قسمتها یک زیر الگوریتم ارائه می‌شود. بهترین راه برای فائق آمدن بر این پیچدگی این است که زیر مساله ها و الگوریتمهای ارائه شده برای هر یک را در ی.ک سطح از انتزاع نگاه داریم.

با بررسی الگوریتمهای مختلف می‌توان به این حقیقت رسید که این الگوریتمها همگی ترکیبی از زیر الگوریتمهای محدودی هستند. در حقیقت این زیر الگوریتمها نسخه‌های متفاوتی از دو تکنیک اصلی در کنترل همروندی توزیعی به نامهای قفل دو مرحله ای و ترتیب برچسب زمانی می‌باشند.

همانطور که گفته شد، هدف کنترل همروندی مقابله با تزاحمهایی است که در اثر استفاده چند کاربر از یک سری داده واحد برای کاربران بوجود می‌آید است. حال ما با ارائه دو مثال در خصوص این مسائل بحث خواهیم نمود. این دو مثال از محک معروف TPC_A مقتبس شده اند. در این مثالها، یک سیستم اطلاعات را از پایگاه داده ها استخراج کرده و محاسبات لازم را انجام داده و در نهایت اطلاعات را در پایگاه داده ذخیره می‌نماید.


دانلود با لینک مستقیم


تحقیق درباره ویژگی های الگوریتمهای کنترل همروندی توزیعی

پروژه الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی 30 ص + پاورپوینت 26 اسلاید

اختصاصی از فایل هلپ پروژه الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی 30 ص + پاورپوینت 26 اسلاید دانلود با لینک مستقیم و پر سرعت .

پروژه الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی 30 ص + پاورپوینت 26 اسلاید


پروژه الگوریتم های تخصیص داده پویا  در سیستم های پایگاه داده توزیعی   30 ص + پاورپوینت    26 اسلاید

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

دغدغه اصلی سیستم های پایگاه داده توزیع شده قطعه قطعه کردن[1] و تخصیص[2] پایگاه داده اصلی می باشد واحد قطعه داده می تواند یک فایل باشد که در این حالت موضوع تخصیص همان تخصیص فایل خواهد بود مشکل تخصیص داده یک مسئله NP-complete می باشد بنابراین نیاز به هیوریستیکهای سریع برای تولید راه حل های موثر می باشد علاوه بر اینها تخصیص بهینه اشیا پایگاه داده به طور شدید بستگی به استراتژی اجرای پرس وجو [3] که به وسیله پایگاه داده توزیع شده پیاده سازی شده دارد .

هزینه اصلی در اجرای پرس و جو در سیستمهای پایگاه داده توزیع شده هزینه انتقال داده هنگام انتقال یک رابطه در موقع درخواست پرس و جو از یک سایت و انتقال آن از یک سایت متفاوت می باشد[2] . هدف اصلی الگوریتم های تخصیص داده تعیین نسبت دادن فرگمنتها به سایتهای مختلف برای کمینه کردن هزینه انتقال داده در اجرای[4] یک مجموعه از پرس و جو ها می باشد که معادل کمینه کردن زمان متوسط اجرای پرس و جو می باشد که اهمیت اصلی در محیط های توزیع شده و پایگاه داده چند رسانه ای دارد .

 

دانلود با لینک مستقیم


پروژه الگوریتم های تخصیص داده پویا در سیستم های پایگاه داده توزیعی 30 ص + پاورپوینت 26 اسلاید

دانلود تحقیق بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای

اختصاصی از فایل هلپ دانلود تحقیق بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای دانلود با لینک مستقیم و پر سرعت .

دانلود تحقیق بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای


دانلود تحقیق بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای

 

تعداد صفحات : 19 صفحه      -      

قالب بندی  : word                 

 

 

 

کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking)   ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله کنترل همروندی به دو حالت read-wirte و write-write می‌باشد. در این مقال، تعدادی از تکنیکهای همزمان سازی برای حل هر یک از قسمتهای مساله بیان شده و سپس این تکنیکها برای حل کلی مساله با یکدیگر ترکیب می‌شوند.

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

 

  1. مقدمه : کنترل همروندی فرآیندی است که طی آن بین دسترسی های همزمان به یک پایگاه داده در یک سیستم مدیریت پایگاه داده چند کاربره هماهنگی بوجود می‌آید. کنترل همروندی به کاربران اجازه می‌دهد تا در یک حالت چند برنامگی با سیستم تعامل داشته باشند در حالیکه رفتار سیستم از دیدگاه کاربر به نحو خواهد بود که کاربر تصور می‌کند در یک محیط تک برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است که یک کاربر هنگام استخراج داده توسط کاربر دیگر انجام می‌دهد. به دو دلیل ذیل کنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است:
  2. کاربراان ممکن است به داده هایی که در کامپیوترهای مختلف در سیستم قرار دارند دسترسی پیدا کنند.
  3. یک مکانیزم کنترل همروندی در یک کامپیوتر از وضعیت دسترسی در سایر کامپیوترها اطلاعی ندارد.

مساله کنترل همروندی در چندین سال قبل کاملا مورد بررسی قرار گفته است و در خصوص پایگاه‌داده‌های متمرکز کاملا شناخته شده است. در خصوص این مسال در پایگاه داده  توزیعی با توجه به اینکه مساله در حوزه مساله توزیعی قرار می‌گیرد بصورت مداوم راهکارهای بهبود مختلف عرضه می‌شود. یک تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یک راهکار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم کنترل همروندی توزیعی ارائه شده است که بسیاری از آنها پیاده سازی شده و در حال استفاده می‌باشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت می‌باشد. یکی از دلایل اینکه این پیچیدگی وجود دارد این است که آنها در اصطلاحات مختلف بیان می‌شوند و بیان های مختلفی برای آنها وجود دارد. یکی از دلایل اینکه این پیچدگی وجود دارد این است که مساله از زیر قسمتهای مختلف تشکیل شده است و برای هر یک از این زیر قسمتها یک زیر الگوریتم ارائه می‌شود. بهترین راه برای فائق آمدن بر این پیچدگی این است که زیر مساله ها و الگوریتمهای ارائه شده برای هر یک را در ی.ک سطح از انتزاع نگاه داریم.

با بررسی الگوریتمهای مختلف می‌توان به این حقیقت رسید که این الگوریتمها همگی ترکیبی از زیر الگوریتمهای محدودی هستند. در حقیقت این زیر الگوریتمها نسخه‌های متفاوتی از دو تکنیک اصلی در کنترل همروندی توزیعی به نامهای قفل دو مرحله ای و ترتیب برچسب زمانی می‌باشند.

همانطور که گفته شد، هدف کنترل همروندی مقابله با تزاحمهایی است که در اثر استفاده چند کاربر از یک سری داده واحد برای کاربران بوجود می‌آید است. حال ما با ارائه دو مثال در خصوص این مسائل بحث خواهیم نمود. این دو مثال از محک معروف TPC_A مقتبس شده اند. در این مثالها، یک سیستم اطلاعات را از پایگاه داده ها استخراج کرده و محاسبات لازم را انجام داده و در نهایت اطلاعات را در پایگاه داده ذخیره می‌نماید.

حالت اول را می‌توان بروزآوری از دست رفته نامید. حالتی را تصور کنید که دو مشتری از دو سیستم مجزا بخواهند از یک حساب مالی برداشت نمایند. در این حالت فرض کنید در غیاب سیستم کنترل همروندی، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جدید در سیستم میکنند. در این حالت در غیاب سیستم کنترل همروندی تنها آخرین درج در سیستم ثبت می‌شود. این حالت در شکل 1 نشان داده شده‌ است.

 

حالت دوم حالتی است که در آن اطلاعات صحیح از پایگاه داده استخراج نمی‌شود. در این حالت فرض کنید دو مشتری بخواهند کارهای ذیل را انجام دهند.

  • مشتری 1: بخواهد یک چک 1 میلیونی را به حساب X واریز و از حساب Y برداشت نماید.
  • مشتری 2: بخواهد بیلان حساب مالی X و Y شامل کل موجودی را نمایش دهد.

در غیاب کنترل همروندی همانطور که در شکل 2 نشان داده شده‌است، تزاحم بین پروسس ها بوجود خواهد آمد. فرض کنید در زمانی که مشتری 1 اطلاعات را از حساب Y خوانده و اطلاعات حساب X را دریافت نموده و 1 میلیون از حساب Y برداشت نموده ولی هنوز 1 میلیون به حساب X و اریز نکرده مشتری 2 اطلاعات کل دو حساب را دریافت نموده و نتیجه را چاپ نماید. در این حالت مشتری شماره 2 اطلاعاتی را که به عنوان بیلان نمایش می‌دهد 1 میلیون از مقدار واقعی کمتر است. این حالت یک فرق اساسی با حالت اول دارد و آن این است که در این حالت نتیجه نهایی در پایگاه داده درست خواهد بود در حالیکه اطلاعات دریافت شده بصورت موقت غلط خواهند بود.

 

 

مساله کنترل همروندی در پایگاه داده های توزیعی تا حدودی شبیه مساله دوبه‌دو ناسزگاری در سیستم عامل می‌باشد.  در مساله دوبه‌دو ناسازگاری، هماهنگی جهت دسترسی به منابع سیستم ائم از حافظه، ابزارهای ورودی و خروجی و CPU و .... بوجود می‌آید. در این حالت راه حلهای گوناگونی ائم از قفلها، سمافورها، مونیتورها و ... پیشنهاد شده است.

کنرتل همروندی و دوبه‌دو ناسگاری از این جهت که هر دو دسترسی به منابع مشترک را کنترل میکنند با هم شباهت دارند.  با این حال راه حلی که برای یکی بکار می‌رود قابل بهره برداری برای دیگری نیست. فرض کنید پردازه های P1 و P2 بخواهند از نقاط مختلف کدهای خود به منابع R1 و R2 دسترسی پیدا کنند. در سیستم عامل دسترسی مجزای ذیل قابل قبول است. P2 از R1 استفاده کند، P2 از R1 استفاده کند، P2  از R2 استفاده نموده و سپس P1 از R2 استفاده نماید. در پایگاه داده این روند اجرا مورد قبول نیست و مشکلاتی را ایجاد می‌کند. فرض کنید P1 بخواهد از R1 مبلغی را به R2 انتقال دهد. در این حالت اگر P2 مقادیر R1 وR2  را چک کند مقادیر غیر صحیح را دریافت می‌کند.

  1. مدل پردازش تراکنش: برای اینکه روند اجرای عملیات در سیستمهای پایگاه داده های توزیعی برای خواننده مشخص شود ما در اینجا یک مدل از پایگاه داده‌های توزیعی را ارائه می‌دهیم. سپس نحوه عملکرد مکانیزم کنترل همروندی را در این مدل بیان خواهیم نمود. در این مدل پایگاه داده، یک پایگاه داده توزیعی مجموعه از سایتهاست که توسط یک شبکه به هم متصل شده‌اند. هر سایت یک کامپیوتر است که یکی یا هر دوی برنامه های ذیل را اجرا می‌کند. برنامه‌ها شامل یک مدیر تراکنش یا TM و یک مدیر داده یا DM است. TM مسئول مدیریت تعامل کاربر با پایگاه داده است و DM مسئول نگهداری داده‌ها است. شبکه نیز یک وسیله ارتباطی کامپیوتر – کامپیوتر است. فرض بر این است که شبکه کاملا امن می‌باشد و پیامها را با همان ترتیبی که وارد سیستم می‌شوند به مقصد ارسال می‌شود. فرض بر این است که تعداد داده های موجود در سیستم شامل X ، Y  و Z است که داده های منطقی موجود در سیستم را تشکیل می‌دهند. داده های ذکر شده فقط واحد داده های منطقی هستند و ما با سایز و قالب و جزئیات آنها کاری نخواهیم داشت. هر پایگاه داده در این سیستم یک نسبت دهی مقادیر بصورت منطقی به این داده های منطقی است. هر داده منطقی می‌تواند در یک یا بیشتر از یک DM ذخیره شود. افزونگی داده در اثر ذخیره داده در چندین DM برای افزایش دسترسی به داده‌ها است. هر کپی از داده ذخیره شده آیتم داده نامیده می‌شود. نسخه های متعدد داده X را بصورت  X1,X2,...   نشان داده می‌شوند. کاربران با DDBMS از طریق اجرای تراکنشها تعامل دارند. تراکنشها می‌توانند پرس و جو های on-line باشند که با زبان استاندارد پرس و جو ارسال شده اند. از طرفی تراکنشها می‌توانند عملیاتی باشند که از طریق برنامه های نوشته شده به سیستم داده می‌شوند. الگوریتمهای کنترل همروندی، کاری با نوع تراکنشهای موجود در سیستم ندارند و محاسبات انحام شده در این تراکنشها تاثیری در روند این الگوریتمها ندارد. بر خلاف اینها این الگوریتمها تمام تصمیم گیری های خود را بر اساس داده هایی که این تراکنشها به آنها دسترسی پیدا می‌کنند انجام می‌دهند. دسترسی ها می‌توانند از نوع خواندن یا نوشتن باشند. فرض بر این است که محاسبات در تراکنشها کامل بوده و اگر تراکنش در یک پایگاه داده به تنهایی اجرا شود، پایگاه داده در حالت صحیح و مانا قرار گرفته و نتایج کاملا صحیحی در بر خواهد داشت. مجموعه منطقی خواندنی یک تراکنش مجموعه ای از آیتمهای داده ای است که تراکنش می‌خواند. این امر در شکل 3 نمایش داده شده است.

 

 

صحت یک الگوریتم کنترل همروندی بر اساس نیاز کاربران به اجرای تراکنشها تعریف می‌شود. در اینجا می‌توان دو شرط اساسی را می‌توان برای اجرای صحیح تراکنشها می‌توان در نظر گرفت. شرط اول این است که کاربران انتظار دارند تراکنشهایی را که در سیستم ثبت می‌کنند، نهایتا اجرا شود. شرط دو م این است که کاربران انتظار دارند تراکنشهای ارسالی دقیقا مانند زمانی که تراکنش در یک سیستم مجزا یا در یک محیط موازی چند برنامه، اجرا می‌شود اجرا شود و نتایج آن در هر دوحالت کاملا مشابه باشد. تحقق این شرایط دقیقا اهداف یک الگوریتم کنترل همروندی را مشخص می‌کنند. یک سیستم DDBMS چهار جزء اصلی را در برخواهد داشت: تراکنش، TM، DM و داده‌ها. تراکنشها با TM ارتباط دارند. TM ها با DM ها ارتباط برقرار می‌کنند و DM  ها داده ها را مدیریت می‌کنند. TM ها با سایر TM  ها ارتباط برقرار نمی‌کنند.

TM  ها بر ترکانش ها و اجرای آنها نظارت می‌کنند. هر تراکنش در پایگاه داده های توزیعی فقط با یک TM در ارتباط است. این بدین معنا است که هر تراکنش تمام عملیات پایگاه داده خود را به TM مربوط به خود ارسال می‌کنند.  تمامی عملیاتهای توزیعی که بایستی توسط تراکنش انجام شود توسط TM مزبور مدیریت می‌شود. چهار عملیات مختلف توسط واسط TM برای تراکنشها قابل تعریف است. read(x) مقدار جاری x را در وضعیت فعلی پایگاه داده های منطقی برمی‌گرداند. write(x,newvalue) مقدار x را در حالت جاری پایگاه داده‌های منطقی به مقدار Newvalue تغییر می‌دهد. همچنین با استفاده از begin و end ابتدا و انتهای یک تراکنش برای یک TM مشخص می‌شود.


دانلود با لینک مستقیم


دانلود تحقیق بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای