1 / 16

File Organization

File Organization. Aspects of Size Parameters. Blocking Aspects. גיווש רשומות באורך קבוע – אין בעיה. גיווש רשומות באורך משתנה – אין בעיה לגווש אבל יש בעיה לפתוח גיווש! בפתיחת גיווש איך יודעים איפה הגבולות בין הרשומות המשתנות?. How to block variable records?.

zaria
Download Presentation

File Organization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. File Organization Aspects of Size Parameters A. Frank

  2. Blocking Aspects • גיווש רשומות באורך קבוע – אין בעיה. • גיווש רשומות באורך משתנה – • אין בעיה לגווש אבל יש בעיה לפתוח גיווש! • בפתיחת גיווש איך יודעים איפה הגבולות בין הרשומות המשתנות? A. Frank

  3. How to block variable records? • אז איך לגווש רשומות באורך משתנה? שיטות אפשריות: • הוספת תו מיוחד ((EOR בסוף הרשומה. • הוספת שדה אורך/מצביע רשומה (לפני הרשומה). • מערך בגודל קבוע בתחילת כל גוש מכיל כניסה (אורך/מצביע) עבור כל רשומה בגוש. • מערך בגודל משתנה נבנה בגוש, בכיוון הפוך לכיוון הכנסת הרשומות, ומכיל כניסה (אורך/מצביע) עבור כל רשומה בגוש. A. Frank

  4. 1. EOR Character • שימוש בתו הפרדה (Delimiter) לסימון גבולות בין רשומות. • נניח EOR בגודל בית. • יתרונות: • שיטה פשוטה וחסכונית. • אין הגבלה על אורך הרשומה. • חסרונות: • EOR אינו יכול להופיע ברשומה (חייב להיות תו בקרה ייחודי). • חייבים לסרוק את כל תווי הרשומה כדי לאתר את EOR. • אין גישה 'ישירה' לרשומה ה-i-ת. E O R E O R E O R … Block גוש A. Frank

  5. 2. Length/Pointer Field • שימוש בשדה אורך/מצביע P לסימון גבולות בין רשומות. • נניח P בגודל מען (4 בתים). • יתרונות: • שיטה פשוטה יחסית. • אין הגבלה על התווים ברשומה. • אין צורך לסרוק את כל תווי הרשומה. • חסרונות: • אין גישה 'ישירה' לרשומה ה-i-ת. • יש הגבלה על אורך הרשומה (לפי גודל P). P P P … Block גוש A. Frank

  6. 3. Array of length/pointer fields • שימוש במערך בגודל קבוע של שדות מצביע לסימון רשומות. • יתרונות: • כמו בשיטה 2. • יש גישה "ישירה" לרשומה ה-i-ת. • חסרונות: • יש הגבלה על אורך הרשומה (לפי גודל P). • מערך המצביעים הוא בגודל קבוע: • אולי אין מספיק כניסות אם הרשומות קצרות. • אולי יש יותר מדי כניסות אם הרשומות ארוכות. P P P P … Block גוש A. Frank

  7. 4. Dynamic array of pointer fields • שימוש במערך בגודל משתנה של שדות מצביע לסימון רשומות. • יתרונות: • כמו בשיטה 3. • כל עוד יש מספיק מקום באמצע, אפשר להוסיף עוד רשומה. • חסרונות: • יש הגבלה על אורך הרשומה (לפי גודל P). • ניהול מורכב יותר. P R … P P P Block גוש A. Frank

  8. Records (Un)Spanning • רשומות ללא מתיחה Unspanned Records: הגושמכיל רשומות שלמות (X זה מקום מבוזבז). • רשומות עם מתיחה Spanned Records: יתכן פיצול של רשומה מסוימת בין מספר גושים – דורש אבל מצביע P להמשך (חסכוני במקום אך יותר בעייתי ליישום, חיפוש יקר, קושי בעדכון). P P P X P P P X P P P P P P X A. Frank

  9. Blocking Aspects • מה היחס בין רשומה לגוש/מגזר? • אם אז לרוב משתמשים בגיווש בלי/עם מתיחה. • אם אז חייבים למתוח בלי/עם גיווש. P P X P P P A. Frank

  10. Reasons for waste in track • בזבוז במסילה הוא שטח שאינו מנוצללנתונים, מה שמהווה תקורה .(overhead) • אפשר לקחת בחשבון בזבוז הנגרם בגלל: • מרווחים (ISG) • שיטת הגיווש • מגזרים לא בשימוש • אי ניצול סוף המסילה A. Frank

  11. Various Blocking Methods A. Frank

  12. Waste • Waste - W- בזבוז בבתים לרשומה (הבזבוז הוא שטח לא מנוצל המהווה תקורהלרשומה). • Wמורכב רק משני גורמים: • - בזבוז לרשומה בגלל מרווח בין גושים: • - בזבוז לרשומה בגלל גיווש (כשאין מתיחה): A. Frank

  13. Blocking factor and Waste computations • בשביל רשומות באורך קבוע, כאשר אין מתיחה: • בשביל רשומות באורך משתנה, כאשר אין מתיחה(ב-W מחוון בשביל הרשומה פלוס חלק של אורך חצי רשומה ומרווח): • בשביל רשומות באורך משתנה, כאשר יש מתיחה(ב-W מחוון בשביל הרשומה פלוס חלק של מצביע לגוש הבא ומרווח): A. Frank

  14. Block(ing)/Record Aspects • יש כאן מספר משתנים אפשריים בבניית קובץ: • גודל גוש קבוע (F) או משתנה (V). • גיווש (B) או אי-גיווש (U). • מתיחה (S) או אי-מתיחה (' '). • גודל רשומה קבוע או משתנה. • לדוגמה: • FB – גושים קבועים, גיווש, אי-מתיחה. • VBS – גושים משתנים, גיווש, מתיחה. A. Frank

  15. Should B be Fixed or Variable? • לגבי קביעת גודל B, יש 2 גישות עיקריות: • B קבוע – גישה UNIX-ית: • ניסיון לקבוע גודל גוש אופטימלי. • שיטה פשוטה, גודל המכלא קבוע וכו'. • בעצם ב-UNIX יש 2 גדלים ( K/2K2K/4K ,4K/8K) – נקבע לפי המחיצה המתאימה שבה נמצא הקובץ. • B משתנה – גישה IBM-ית: • יש הרבה צרכים/משימות – שהמתכנת יקבע. • שיטה מורכבת, גודל המכלא משתנה וכו'. A. Frank

  16. Single Unit instead of Block/Sector? • למה צריך 2 סדרי גודל: גם מגזר וגם גוש? • אולי יחידה (Unit) באיזשהו גודל אופטימלי תספיק? • לא! מתברר שיש אילוצים לכאן ולכאן: אילוצים להקטנת היחידהאילוצים להגדלת היחידה עלות פעולת ק/פ יחידה מספר מרווחים במסילה גודל טבלת יחידות לקובץ גישה להרבה נתונים ביחד עדיף לגודל משתנה יעיל יותר לגווש? שיבוש ביחידה בזבוז בסוף המסילה גודל המכלא בזיכרון גישה למעט נתונים ביחד עדיף לגודל קבוע A. Frank

More Related