A. Frank File Organization Indexed-Sequential File Measurements Thanks to Tamar Barnes.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
A. Frank File Organization Hardware Time Parameters.
פונקציונל פונקציה מספר פונקציונל דוגמאות לא פונקציונל פונקציונל.
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
A. Frank File Organization File Organization Measures.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
תרגול 8 עצי B+ אינדקס משני.
A. Frank File Organization קובץ ישיר מתקדם Advanced Direct File.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
A. Frank File Organization Indexed-Sequential File Introduction Thanks to Tamar Barnes.
2 Suffix Tree: Definition Suffix tree T על מחרוזת S שגודלה n, הוא עץ מכוון עם בדיוק n עלים ממוספרים מ -1 עד n. לכל צומת פנימית ( חוץ מהשורש ) יש לפחות.
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
A. Frank File Organization Sequential File Measures.
A. Frank File Organization Pile File Measures. 2 A. Frank Steps in analysis of file organization בהערכת מבנה קובץ, נתייחס ל - 6 שלבים / צעדים : 1. תאור.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
Data Structures, CS, TAU, Splay Tree 1 Splay Tree - עץ חיפוש בינארי - מטרה לדאוג ל - Amortized Time - פעולה בודדת יכולה לקחת O(N) - אבל כל רצף M פעולות.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
A. Frank File Organization Stream Model מודל תזרים Thanks to Adi Gutman and Noa Cohen.
A. Frank File Organization Classic / Direct File קובץ ישיר קלאסי.
חישוב ואופטימיזציה של שאילתות חלק 1
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
קובץ רב-אינדקס Multi-Indexed File
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
A. Frank File Organization Introduction to Overflow Thanks to Tamar Barnes.
A. Frank File Organization Various Parameter Issues.
תרגול 7 עצי B
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
A. Frank File Organization Transfer Time/Rate Parameters.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
עקרון ההכלה וההדחה.
1 חישוב ואופטימיזציה של שאילתות חלק 1 Query Evaluation and Optimization Part 1.
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
A. Frank File Organization Introduction to Pile File.
A. Frank File Organization Hardware Size Parameters.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
2-4 tree k=2 Each node has 2,3,or 4 children. Delete delete(14,T)
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Population genetics גנים באוכלוסיות a population is a localized group of individuals belonging to the same species.
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
2003B Q5 Suppliers(sid, sname, city) Select sid from suppliers where city=‘jerusalem’ or sname like ‘%Smith’ Select sid from suppliers where city=‘jerusalem’
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
קשר לוגי : סיבה ותוצאה. במשפט – דוגמות קלות בגלל הגשם החלטנו לא לנסוע לטיול לחיפה. הרצון שלי להצליח הניע אותי להשקיע בלימודים. ציפורים נודדות בין יבשות.
Tirgul 12 Trees 1.
Formal Specifications for Complex Systems (236368) Tutorial #1
אינדקסינג והשינג (indexing & hashing)
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
Data Structures, CS, TAU, Splay Tree
Marina Kogan Sadetsky –
למה רמת פרמי צריכה להיות קבועה בחומר שנמצא בשווי משקל?
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
מערכים של מצביעים הקצאה דינאמית
Presentation transcript:

A. Frank File Organization Indexed-Sequential File Measurements Thanks to Tamar Barnes

2 A. Frank Measure R (1) מדד R V - אורך ממוצע של ערך. a - מספר המאפיינים ( שדות ) ברשומה. P - מספר הבתים בשביל מצביע. R = aV + P בשטח ראשי / גלישה. אבל מה לגבי התחשבות בשטח האינדקס ? נניח אינדקס גושים סלקטיבי רב - רמות. ברמה הראשונה ( התחתונה ) יש כניסות, הנמצאות ב - גושים. הכניסות ברמה השנייה נמצאות ב - גושים וכך הלאה, עד שמגיעים לאינדקס אב. סה " כ גושים. x הוא מספר רמות האינדקס. אם אינדקס אב נמצא בגוש אחד, אזי.... מספר הכניסות פה הוא b, כניסה לכל גוש בקובץ האב

3 A. Frank Measure R (2) SI ( (Size of Index גודל האינדקס בבתים : ולכן : ( אם, אזי ההפרש בין שני הסכומים לעיל חסום על ידי x, מספר רמות האינדקס ). דוגמא : בקובץ ראשי 2,718,282 גושים, גודל גוש 2448 בתים, וכניסה באינדקס 17 בתים.

4 A. Frank Measure R (3) לכן התקורה של האינדקס יחסית לשטח הראשי של הקובץ היא. ולכן כאן O מציין את מספר המקומות הגלישה שהוקצו מראש. O’ מציין את מספר מקומות הגלישה שהתמלאו. ( מפה והלאה לא נקפיד כאן על השמת מציין - על IS).

5 A. Frank Time to fetch any record (1) מדד _____ אם הרשומה המבוקשת נמצאת בשטח הראשי, אינדקס אב נמצא בזיכרון וחלק האינדקס השייך לגליל נתונים מסוים נמצא באותו גליל, אזי הצטרפו o ’ רשומות גלישה ל - n הרשומות של השטח הראשי.

6 A. Frank Time to fetch any record (2) - (Probability of overflow) - הסתברות שהרשומה המבוקשת היא רשומת גלישה היא - ( (Length of chain- אורך הממוצע של שרשרת רשומות גלישה היוצאת מכל גוש (Push-Through). אם Bfr > 1 ניתן לאמוד דוגמא : ישנם 9 גושים ובכל גוש יש 100 רשומות. סה " כ על 900 הרשומות הללו גלשו 100 רשומות, ולכן אורך שרשרת הגלישה צריך להיות באורך של בערך 10-9 רשומות כל אחת.

7 A. Frank Time to fetch any record (3) - הזמן הדרוש להגיע לשרשרת s’ מסמן חיפוש (seek) במקרה שהשרשרת מוחזקת בגליל אחר. הסריקה בשרשרת דורשת בממוצע ביקור בכמחצית הרשומות בשרשרת. אם כל השרשרת נמצאת באותו גליל אם כל השרשרת כולה נמצאת באותו גליל של הגוש שממנו יצאה, אזי אין s’. אם גם זניח, מקבלים

8 A. Frank Time to fetch next logical record (1) מדד - הנחות : שרשור ברמת הגוש, אינדקס גושים סלקטיבי. אפשרויות למיקום הרשומה הבאה : מקרה א ': הרשומה הנוכחית נמצאת בתוך גוש השייך לשטח הראשי, והרשומה העוקבת נמצאת באותו גוש, ולכן היא נמצאת במכלא בזיכרון. מקרה ב ': הרשומה הנוכחית נמצאת במקום האחרון בגוש השייך לשטח הראשי, לא היו הוספות לאותו גוש, והרשומה העוקבת נמצאת בגוש אחר של אותו גליל. מקרה ג ': הרשומה הנוכחית במקום האחרון בגוש השייך לשטח הראשי, לא היו הוספות לאותו גוש, הרשומה העוקבת נמצאת בגוש של גליל אחר. מקרה ד ': הרשומה הנוכחית נמצאת במקום האחרון בגוש השייך לשטח הראשי, היו הוספות לאותו גוש, ולכן הרשומה העוקבת היא רשימת גלישה, באותו גליל או בגליל אחר. מקרה ה ': הרשומה הנוכחית היא רשומה גלישה, והרשומה העוקבת גם רשומת גלישה, הנמצאת באותו גוש, בגוש אחר באותו גליל, או בגליל אחר. מקרה ו ': הרשומה הנוכחית היא רשומת גלישה, והרשומה העוקבת נמצאת בגוש של הקובץ הסדרתי, הנמצא באותו גליל, או בגליל אחר.

9 A. Frank Time to fetch next logical record (2) - ההסתברות שהרשומה הנוכחית נמצאת בקובץ הסדרתי - הסתברות שהרשומה הנוכחית נמצאת בקובץ הסדרתי והרשומה העוקבת נמצאת באותו גוש - ההסתברות שלא הייתה תוספת לגוש דוגמא : Lc=0.2. זאת אומרת, שבערך שרשרת באורך 1 יוצאת מחמישית מהגושים בקובץ הסדרתי ולכן יש הסתברות של 0.8 שלא הייתה תוספת לגוש הנוכחי. - ההסתברות שהגוש הבא של הקובץ הסדרתי נמצאת באותו גליל. - ההסתברות שהרשומה הנוכחית היא רשומת גלישה, והיא איננה האחרונה בשרשרת הגדרות של הסתברויות :

10 A. Frank Time to fetch next logical record (3) מקרה א' מקרה ב' מקרה ג' מקרה ד' מקרה ה' מקרה ו' הנחות למען הפשטות : במקרה ה ', אין התייחסות לאפשרות שהרשומה העוקבת נמצאת באותו גוש. להתעלם מהביטויים s', c, לקבוע ולהניח שכל שרשרת שיוצאת מגוש נמצאת באותו גליל : אין מקרה ג '. הזמן במקרה א ' זניח. מקרים ב ', ד ' מתלכדים ומקרים ה ', ו ' מתלכדים, לכן :

11 A. Frank Time to insert any record (1) מדד ____ - זמן הוספת רשומה כלשהי. הנחות : שרשור ברמת הגוש, רשומות הגלישה נמצאות באותו גליל. עלינו לקחת בחשבון שני מקרים ( בדיעבד מסתבר שהעלות זהה לגבי שני המקרים ): 1. הרשומה החדשה תכנס לגוש של השטח הראשי : יש להגיע אל הגוש - יש לכתוב את הגוש מחדש -, עם מצביע לגוש האחרון בשימוש של שטח הגלישה בגליל, שיכיל את הרשומה שנדחפה החוצה.

12 A. Frank p Time to insert any record (2) דוגמא : נניח שרוצים להוסיף את k=25. ייקח לנו לאתר את מקום ההכנסה של k=25. נדחוק את 25 פנימה וכתוצאה מכך רשומה 29 תדחק החוצה. היא תכנס למקום הפנוי בשטח הגלישה ונעדכן את המצביעים כך ששרשרת הגלישה תהיה ממוינת. שטח גלישה שטח ראשי

13 A. Frank p 29 Time to insert any record (3) שטח גלישה שטח ראשי בשטח הראשי : עושים גיווש מחדש כדי להכניס את 25 ולדחוק החוצה את 29 ולעדכן את המצביע אל שטח הגלישה ( שיצביע על 29). העלות : בשטח הגלישה : צריכים לקרוא את הגוש הפנוי בשטח הגלישה כדי לקרוא את 29. העלות : r+btt לאחר מכן יש כתיבה חזרה ועדכון המצביעים בתוך שטח הגלישה -

14 A. Frank Time to insert any record (4) 2. הרשומה החדשה תכנס לגוש של שטח הגלישה : יש להגיע אל הרשומה הקודמת -. יש לכתוב את הגוש שלה מחדש עם מצביע לגוש הפנוי של שטח הגלישה בגליל, ששם תושם הרשומה המתווספת -. הבאת הגוש הפנוי של שטח הגלישה בגליל דורשת r+btt וכתיבתו מחדש -.

15 A. Frank p Time to insert any record (5) דוגמא : נניח שרוצים להוסיף את k=35. - מחפשים את הרשומה בשטח הראשי ולא מוצאים אותה, לכן מתחילים לחפש על שרשרת הגלישה. כך קוראים עד שמוצאים את מקום ההכנסה. - קוראים את גוש 34 כדי לעדכן את המצביע שלו שיצביע על 35. r + btt - קוראים את רשומה 35 - כותבים אותו עם מצביע ל – 37 שטח גלישה שטח ראשי לכן גם כאן סה " כ מתקבלים : ניתן לדייק שיש הסתברות שהגוש האחרון של שטח הגלישה היה מלא, אז נקבל : כי אין טעם לקרוא את הגוש המלא הזה.

16 A. Frank Time to update/delete any record מדד ____ - זמן עדכון רשומה כלשהי. מכיוון שכל הרשומות הן באותו גודל, מבצעים עדכון במקום : אחרת זה בטול והכנסה ( אם מפתח ראשי חדש ): הערה : ניתן להכניס רשומה חדשה במקום של רשומה שבוטלה לוגית על ידי מצבה. יש גם אפשרות, לאחר בטול רשומה בגוש של השטח הראשי, לכווץ את הרשומות הנשארות יחד ולהשאיר מקום ריק בסוף הגוש. פעולה זו לא תחייב שינוי באינדקס, אפילו אם הרשומה הראשונה או האחרונה בוטלה.

17 A. Frank Time for exhaustive read of file מדד ____ - עלות קריאה ממצה. עוברים על גוש וגולשים, הגוש הבא – וגולשים. מחיר יקר יחסית. זהו זרז לביצוע ארגון מחדש. מציאת מיקום הגוש וקריאת הרשומה הראשונה הבאת הרשומות הנותרות בשטח הראשי ובשטח הגלישה

18 A. Frank Time for reorganization of file מדד ____ - עלות ארגון מחדש של הקובץ. קריאה ממצה של הקובץ כתיבת קובץ בן חדש שיש בו רשומות, במחיר כתיבת רשומה עלות בניית / כתיבת שטח אינדקס חדש

19 A. Frank Conclusions הקובץ האינדקס - סדרתי רצה להיות גם סדרתי וגם ישיר ע " י שימוש באינדקס, אך התוצאה מסובכת למדי. בסופו של דבר נשארים עם " שתי ציפורים על העץ ": אין גישה סדרתית יעילה כי יש הפסקות לגלישות ואין גישה ישירה כי צריכים לעבור x רמות עד שמגיעים אל הנתונים עצמם. אפשר לדאוג ששטח הגלישה יהיה קטן וששרשראות הגלישה תהיינה קצרות, אבל אז צריכים לעשות ארגון מחדש בתדירות גבוהה יותר.

20 A. Frank Summary הקובץ אינדקס – סדרתי ניסה להיות גם סדרתי וגם ישיר – ונכשל ! אין גישה סדרתית יעילה ואין גישה ישירה יעילה ! הקובץ הישיר יפתור את הבעיה – שם הגישה הישירה תבוא על חשבון הסדרתיות.