آموزش ذخیره و بازیابی اطلاعات - درس ششم

20
ادرس فره درای نکات مطرح شدر مبنید ها ب این اس« ابیره و بازی آموزش ذخیعات اط» یه ته شده است. جعه نماینک زیر مران آموزش به لی در مورد ای بیشترعاترای کسب اط ب یدfaradars.org/fvsft106 آموزش ذخیره وابی بازیعات اطfaradars.org/fvsft106 ﻓﺮادرسFaraDars.org

Upload: faradars

Post on 07-Jan-2017

39 views

Category:

Education


4 download

TRANSCRIPT

Page 1: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

این اسالید ها بر مبنای نکات مطرح شده در فرادرس

« اطالعاتآموزش ذخیره و بازیابی »

.شده استتهیه

یدبرای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایfaradars.org/fvsft106

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

فرادرس

FaraDars.org

Page 2: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

:مدرس

فرشید شیرافکن

دانشگاه تهران دکتری دانشجوی (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )

ذخیره و بازیابی اطالعاتساختار ترتیبی: درس ششم

2

فرادرس

FaraDars.org

Page 3: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

3

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

معرفی ساختار ترتیبی

Vn…V2V1

.‌باشدنمیفیلداسمسازیذخیره‌بهنیازیواستمكانثابترکوردهاقالب

فیلدصرفه‌جویی‌در‌حافظه‌به‌علت‌ذخیره‌نكردن‌اسم‌

.دارداستراتژی‌دستیابی

مصرف‌حافظه‌بیشتر‌به‌علت‌در‌نظر‌گرفتن‌فیلد‌برای‌اطالع‌نهست‌

.ندهستمرتبکلیدمقادیربراساسرکوردهاهمهاولیه،لوددر

.قش‌ندارندچون‌استراتژی‌دستیابی‌فقط‌متكی‌به‌کلید‌است‌و‌صفات‌دیگر‌ن:‌ندارد‌تقارن

.طول‌رکورد‌را‌تغییر‌دادنمی‌توان‌

فرادرس

FaraDars.org

Page 4: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

4

.‌در‌عملیات‌درج‌استفاده‌می‌شود(‌Transaction Log File)ثبت‌تراکنش‌ها‌فایل‌

ی‌عمل‌درج،‌رکورد‌درج‌شدنی‌باید‌در‌محل‌منطقی‌اش‌درج‌شود‌و‌اگر‌فایل‌بزرگ‌باشد،‌این‌عمل‌به‌زماان‌زیااددر‌.‌نیاز‌دارد

.‌انجام‌می‌شودT.L.Fهمین‌علت‌فایل‌ترتیبی‌را‌فقط‌خواندنی‌ایجاد‌می‌کنند‌و‌تمام‌عملیات‌تغییر‌دهنده‌در‌به‌

T.L.Fفایل

فرادرس

FaraDars.org

Page 5: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

5

(ترتیبی‌کلیدی)فایل‌اصلی-1

(‌‌ترتیبی‌زمانی)T.L.Fفایل‌-2

S=(n+o).R:‌‌ظرفیت‌فایل‌o‌:رکورد‌های‌فایل‌تراکنش‌تعداد‌n‌:رکوردهای‌فایل‌اصلیتعداد‌

ترتیبیدر ساختار انواع فایل

.و‌یك‌فایل‌ترتیبی‌جدید‌تولید‌می‌شودشده‌در‌فایل‌اصلی‌ادغام‌T.L.Fفایل‌ فرادرس

FaraDars.org

Page 6: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

6

.‌نیازی‌به‌تغییر‌طول‌رکورد‌نباشد-1

.واکشی‌سریع‌تك‌رکوردها‌مورد‌نظر‌نباشد-2

.در‌ایجاد‌بعضی‌از‌ساختارها‌الزم‌است‌که‌ابتدا‌فایل‌به‌صورت‌ترتیبی‌ایجاد‌گردد-3

تجاریکاربردهای‌-4

موارد استفاده ساختار ترتیبی

فرادرس

FaraDars.org

Page 7: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

7

:‌استدارای‌قالب‌ثابت‌مكان‌رکورد‌

VaR .

a‌:رکوردتعداد‌صفات‌در‌یك‌نمونه‌

V‌:صفتمتوسط‌حافظه‌الزم‌برای‌ذخیره‌مقدار‌

متوسط اندازه رکورد

فرادرس

FaraDars.org

Page 8: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

8

. آرگومان جستجو کلید نباشد-1':استحالتی‌از‌پایل‌فایل‌

'

2

)(

t

RonTF

در‌لحظه‌واکشیT.L.Fرکوردهای‌تعداد‌:‌'o

.آرگومان جستجو کلید باشد-2.‌یك‌الگوریتم‌جستجو‌استفاده‌می‌شوداز‌

.جستجوی‌دودویی،‌جستجو‌با‌پرش‌بالکی‌وجستجو‌با‌تخمین‌و‌کاوش:‌های‌جستجو‌الگوریتم‌

واکشی رکورد

فرادرس

FaraDars.org

Page 9: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

9

.‌بار‌آدرس‌بالك‌میانی‌را‌بدست‌آوردهر‌تا‌بتوان‌باید‌در‌یك‌فضای‌پیوسته‌ذخیره‌شده‌باشد،‌فایل‌.‌می‌شود‌تا‌بالك‌حاوی‌رکورد‌مورد‌نظر،‌پیدا‌شودانجام‌دودویی‌جستجو‌یك‌

.‌رپیدا‌شودمورد‌نظرکوردانجام‌می‌شود‌تا‌درون‌بالکی‌برای‌هر‌بالك‌که‌به‌بافر‌آورده‌می‌شود،‌یك‌جستجو‌دودویی‌سپس‌.باشد،‌که‌باید‌فایل‌تراکنش‌را‌نیز‌خواندT.L.Fاست‌رکورد‌در‌ممكن‌

).2

(]log)[('

')(

2t

RoCbrsT B

nR

BttF

جستجوی دودویی

ttbrs ‌:(بالك‌میانی)زمان‌خواندن‌مستقیم‌یك‌بالك‌

BC‌:(آیا‌رکورد‌در‌بالك‌هست‌یا‌نه‌)‌زمان‌بررسی‌محتوای‌بالك‌

)(

2log B

nR

تعداد‌مراجعات‌به‌فایل:‌

t

R.

2

O

‌:زمان‌واکشی‌رکورد‌از‌T.L.F

فرادرس

FaraDars.org

Page 10: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

10

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

.این‌حالت‌بطور‌متوسط‌نصف‌بالکها‌باید‌خوانده‌شوددر‌

nB.‌تعداد‌رکوردهایی‌که‌باید‌بررسی‌شود‌به‌حداقل‌می‌رسدآنگاه‌f

باشدمی‌حداقل‌تعداد‌مقایسه‌ها‌برای‌یافتن‌رکورد‌به‌روش‌جستجو‌پرش‌بالکی‌برابر‌ n

(Skipped block search)جستجو با پرش بالکی

فرادرس

FaraDars.org

Page 11: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

11

ورد‌این‌جستجو‌آدرس‌تقریبی‌رکورد‌تخمین‌زده‌می‌شود‌و‌از‌این‌آدرس‌جستجوی‌خطی‌انجام‌می‌گیرد‌تاا‌رکادر‌.‌مورد‌نظر‌پیدا‌شود

.‌رکورد‌در‌کاوش‌اول‌پیدا‌نشود،‌دوباره‌آدرس‌رکورد‌تخمین‌زده‌می‌شود‌و‌کاوش‌انجام‌می‌گیرداگر‌:در‌نظر‌بگیریم،‌آنگاهkتعداد‌بالکهایی‌که‌باید‌خوانده‌شوند‌تا‌رکورد‌پیدا‌شود‌را‌اگر‌

)()(ttF

brst

BkT

.کارایی‌این‌روش‌بستگی‌به‌چگونگی‌توزیع‌رکوردها‌دارد:‌تذکر

کاوشجستجو با تخمین و

فرادرس

FaraDars.org

Page 12: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

12

د‌باود‌و‌در‌همان‌باالك‌خواهابعدیدر‌نظر‌بگیریم،‌رکورد‌فعلییكی‌به‌آخر‌بالکی‌را‌رکورد‌رکورد‌رکورد‌اول‌تا‌اگر‌.‌برای‌بازیابی‌آن‌نیاز‌به‌خواندن‌بالك‌بعدی‌نمی‌باشد

ایاد‌بارای‌اگر‌آخرین‌رکورد‌بالك‌را‌رکورد‌فعلی‌در‌نظر‌بگیریم‌،‌آنگاه‌رکورد‌بعدی‌در‌بالك‌بعدی‌خواهد‌باود‌و‌باما‌.بازیابی‌آن‌بالك‌بعدی‌خوانده‌شود

.‌باشدمی‌احتمال‌این‌حالت‌fB

1

بازیابی رکورد بعدی

''

1

t

R

t

B

BT

f

N

وجاود‌بین‌رکورد‌فعلی‌از‌فایل‌اصلی‌و‌رکورد‌بعدی(‌گراز‌طریق‌اشاره‌مثال‌)ساختاریچون‌هیچ‌ارتباط‌باشد،‌T.L.Fاگر‌رکورد‌بعدی‌در‌یاد‌منجر‌می‌شود‌که‌عملی‌محتوایی‌است‌و‌امكان‌پذیر‌نیست،‌مگر‌اینكه‌مقدار‌کلT.L.Fبازیابی‌رکورد‌بعدی‌به‌یك‌جستجو‌در‌ندارد،‌

.می‌شودT.L.Fرکورد‌بعدی‌را‌داشته‌باشیم‌و‌عمل‌بازیابی‌رکورد‌بعدی‌تبدیل‌به‌واکشی‌یك‌رکورد‌از‌

فرادرس

FaraDars.org

Page 13: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

13

.‌فایلهای‌کوچك،‌رکورد‌را‌در‌محل‌واقعی‌اش‌درج‌می‌کنیمدر‌کاورد‌این‌کار‌محل‌درج‌را‌پیدا‌کرده‌و‌رکوردهای‌دیگر‌را‌به‌سمت‌انتهای‌فایل‌شیفت‌می‌دهیم‌و‌ربرای‌

.‌را‌در‌بالك‌مورد‌نظر‌درج‌می‌کنیم:‌این‌حالت‌به‌طور‌متوسط‌نصف‌بالکها‌شیفت‌داده‌می‌شونددر‌

)(2 ' RWFI T

t

BbTT

در فایل کوچکدرج

FT‌:زمان‌پیدا‌کردن‌محل‌درج‌

RWTt

B‌:زمان‌شیفت‌یك‌بالك‌

فرادرس

FaraDars.org

Page 14: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

14

شود‌و‌در‌محل‌واقعی‌اش‌در‌فایل‌(Reordering)درج‌می‌شود‌تا‌در‌سازماندهی‌مجدد،‌بازآرایی‌T.L.Fدر‌آخرین‌بالك‌رکورد‌.اصلی‌قرار‌بگیرد

o

TbrsT

y

ttI )3(

درج در حالت کلی

ttbrs 3

o

Ty

(پایل‌برابر‌با‌زمان‌درج‌در‌فایل‌)T.L.Fزمان‌درج‌در‌:‌

T.L.Fرکورد‌oسرشكن‌کردن‌زمان‌سازماندهی‌مجدد‌بر‌روی‌:‌

فرادرس

FaraDars.org

Page 15: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

15

یاك‌مورد‌نظر‌را‌واکشی‌کرده‌و‌بعد‌از‌انجام‌عملیات‌بهنگام‌سازی‌در‌بافر،‌رکورد‌بهنگام‌درآمده‌را‌هماراه‌باارکورد‌.‌کنیمدرج‌میT.L.F،‌در‌(‌شامل‌تاریخ‌بهنگام‌سازی‌و‌نشانگر‌حذف‌شده)رکورد‌کوچك‌پیوست‌شده‌به‌آن‌

IFU TTT

نی‌منظور‌از‌نشانگر‌حذف‌شده،‌این‌است‌که‌نسخه‌قدیم‌در‌فایل‌اصلی،‌در‌ساازماندهی‌مجادد،‌حاذف‌شاد:‌تذکر‌.است

بهنگام سازی

فرادرس

FaraDars.org

Page 16: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

16

خواندن تمام فایل

:‌فایل‌به‌طور‌پی‌در‌پی‌خوانده‌شوداگر‌

``)(

t

RonT

Xseq

:‌باید‌مرتب‌شودT.L.Fخواندن‌سریال،‌برای‌

'

'' )()(t

RonoTT sortxser

.‌ادغام‌می‌کنندT.L.Fالبته‌گاه‌در‌عمل،‌اگر‌پریود‌خواندن‌سریال‌طوالنی‌باشد،‌فایل‌اصلی‌را‌با‌:‌تذکر.و‌سپس‌فایل‌اصلی‌جدید‌که‌کامال‌ترتیبی‌است،‌خوانده‌می‌شود(‌سازماندهی‌مجدد)‌

فرادرس

FaraDars.org

Page 17: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

17

(همتوالی‌کردن‌با‌فایل‌اصلی)فایل‌تراکنش‌مرتب‌کردن‌-1فایل‌اصلی‌خواندن‌-2فایل‌تراکنش‌خواندن‌-3ضمن‌خارج‌کردن‌رکوردهای‌حذف‌شدنی(‌ادغام‌آنها‌طبق‌نظم)رکوردهابالك‌بندی‌مجدد‌-4.فایلبازنویسی‌کل‌-5

t

Rdon

t

Ro

t

RnoTTy

sort

)(.)(

سازماندهی مجدد

فرادرس

FaraDars.org

Page 18: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

18

پارامترهای زمانی ساختار ترتیبی

فرادرس

FaraDars.org

Page 19: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

19

پایان‌فصل‌ششم فرادرس

FaraDars.org

Page 20: آموزش ذخیره و بازیابی اطلاعات - درس ششم

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

این اسالید ها بر مبنای نکات مطرح شده در فرادرس

« اطالعاتآموزش ذخیره و بازیابی »

.شده استتهیه

یدبرای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایfaradars.org/fvsft106

بازیابی و آموزش ذخیره

اطالعات

faradars.org/fvsft106

فرادرس

FaraDars.org