ذخيره و بازيابي رکوردها و بلاکها چند تعریف رکورد سطح انتزاع سطح

Download Report

Transcript ذخيره و بازيابي رکوردها و بلاکها چند تعریف رکورد سطح انتزاع سطح

‫ذخيره و بازيابي‬
‫رکوردها و‬
‫بالکها‬
‫چند تعریف‬
‫رکورد‬
‫• سطح انتزاع‬
‫• سطح منطقی (سطح برنامه کاربر)‬
‫• سطح فيزیکی (محیط ذخيره سازی)‬
‫رکورد سطح انتزاعی )‪(Abstractive‬‬
‫رکورد سطح منطقی )‪(Logical‬‬
(Fixed Position) ‫رکورد ثابت مکان‬
‫رکورد غيرثابت مکان‬
‫انواع رکورد بر اساس طول‬
‫• طول ثابت‬
‫• طول متغير‬
‫عموما در ثابت مکان طول ثابت و در غير ثابت مکان طول متغير است‪.‬‬
‫علل متغير شدن طول رکورد ها‬
‫• بعض ی فیلدها مثل آدرس‬
‫• تعداد فیلدها مثل معلم رسمی یا حق التدریس‬
‫• فقره تکرار شونده مثل تلفن‬
‫رکورد سطح فيزیکی )‪(Stored Record‬‬
‫• بخش داده ای‬
‫• بخش کنترلی (غير داده ای – ‪)Meta Section‬‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫طول رکورد‬
‫نوع رکورد‬
‫اشاره گرها‬
‫پرچمهای عملیاتی و حفاظتی‬
‫اطالعات خاص‬
)Meta Section ( ‫بخش کنترلی‬
)Meta Section ( ‫بخش کنترلی‬
)Meta Section ( ‫بخش کنترلی‬
‫کلیدها‬
‫•‬
‫•‬
‫•‬
‫•‬
‫سوپر کلید‬
‫کلید کاندیدا‬
‫کلید اولیه‬
‫کلید ثانویه‬
‫سكتورها‬
‫• سكتورهاي مجاور‬
‫• چند در مياني‬
‫سازمان دادهها بر روي ديسك‬
‫• در سطح پایين واحد اطالعات بين دیسک و کنترلر یک سکتور است‪.‬‬
‫یعنی برای خواندن یک بایت ‪...‬‬
‫• اما در سطح باال سیستم عامل از واحدهای بزرگتری مانند بلوک و‬
‫کالستر استفاده میشود‬
‫• بر اساس سكتور‬
‫• بر اساس بلوك‬
‫بالک بندی )‪(Blocking‬‬
‫ضریب بالکبندی ‪3 = Bf‬‬
‫سكتورها و بلوکها‬
‫سكتورها و بلوکها‬
‫زیر بلوکها )‪(Subblock‬‬
‫• زیر بلوک شمارش ی(تعداد بایتهای زیر بلوک داده)‬
‫• زیر بلوک کلیدی (کلید آخرین رکورد در بلوک داده)‬
‫• زیر بلوک داده ای‬
‫سربار غير داده ای در هر دو‬
‫• آدرس دهی سکتوری‬
‫هنگام فرمت ‪:‬‬
‫– آدرس سکتور‬
‫– آدرس شیار‬
‫– وضعیت سکتور (قابل استفاده یا نه)‬
‫– گپ‬
‫• آدرس دهی بالکی‬
‫– زیر بلوکهای غير داده ای‬
‫– شکاف بين بالکی‬
‫سربار غير داده ای‬
‫• در حالت اول سربار از دست برنامه نویس خارج است‬
‫• در حالت دوم تا یا تعیين مناسب ‪ Bf‬تا حدودی توسط برنامه نویس‬
‫قابل کنترل است‪ .‬که از دو جنبه قابل بررس ی است‪.‬‬
‫سربار غير داده ای در بلوک بندی‬
‫عدم تناسب در طول ركورد هاي فايل با سكتورها‬
‫پراکندگی داخلی در اولی‬
‫سرعت کمتر در دومی‬
‫سربار غير داده ای در بلوک بندی‬
‫سربار غير داده ای در بلوک بندی‬
‫مثالی دیگر‬
‫– ظرفیت هر شیار در دیسک بالکی ‪ 20000‬بایت است‪ .‬فضای اشغال شده‬
‫توسط گپ و زیر بالکها ‪ 300‬بایت به ازای هر بالک است‪ .‬در فایلی حاوی‬
‫رکوردهای ‪ 100‬بایتی با ضریب بالک بندی ‪ 10‬چند رکورد در هر شیار‬
‫ذخيره میگردد؟ با ضریب ‪ 60‬چطور؟ با ‪ 70‬چطور؟ چه نتیجه ای‬
‫میگيرید؟‬
‫سازماندهي با بلوكها‬
‫• مزایا‬
‫– صرفه جویی در فضا‬
‫• عدم اتالف فضا در پراكندگي داخلي‬
‫• در غير اینصورت باید بين هر رکورد گپ باشد )‪(IRG‬‬
‫– سرعت‬
‫• عدم استفاده از ‪ 2‬يا چند بلوك براي يك ركورد‬
‫• کاهش دفعات ‪I/O‬‬
‫• معایب‬
‫– کار اضافی توسط برنامه نویس و سیستم عامل‬
‫– مصرف حافظه بیشتر برای بافر‬
‫– باال رفتن احتمال خطا بدلیل رد و بدل بیشت اطالعات‬
‫روشهای تعیين محدوده در بالکبندی‬
‫ترکیبی‬
‫روشهای مختلف بلوک بندی‬
‫• رکوردهای با طول ثابت و معموال یک تکه (یکپارچه)‬
‫• رکوردهای با طول متغير و دو تکه‬
‫• رکوردهای با طول متغير و یک تکه‬
‫تعریف‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪ : R‬متوسط طول رکورد بدون حافظه هرز‬
‫‪ : B‬طول بلوک بدون حافظه هرز‬
‫‪ : Bf‬فاکتور بالکبندی‬
‫‪ : W‬حافظه هرز‬
‫‪ : WB‬حافظه هرز به ازای هر بلوک‬
‫‪ : WR‬حافظه هرز به ازای هر رکورد‬
‫‪ : Tf‬تعداد بالکهای هر شیار (فاکتور تراکینگ)‬
‫رکوردهای با طول ثابت و معموال یک تکه‬
‫رکوردهای با طول متغير و دو تکه‬
‫رکوردهای با طول متغير و یک تکه‬
‫مقایسه روشهای بالکبندی‬
‫•‬
‫•‬
‫•‬
‫•‬
‫روش ‪ 1‬ساده ولی انعطاف کم‬
‫ساخته مجدد فایل در صورت تغیير طول رکورد در روش ‪1‬‬
‫مصرف بهینه حافظه در روش ‪ 2‬ولی پیچیده تر‬
‫طول رکورد در روش ‪ 1‬و ‪ 3‬حداکثر برابر بلوک خواهد بود ولی در‬
‫روش ‪ 2‬محدودیتی نیست‪.‬‬
‫یک تمرین‬
‫• چگالی بایت بر اینچ است‬
‫• ‪316000‬‬
‫• ‪22000‬‬
‫باکت خوشه و گسترش‬