Presentation is loading. Please wait.

Presentation is loading. Please wait.

File Systems Motivation SQL (Structured Query Language) MapReduce 1 תרגול 1.

Similar presentations


Presentation on theme: "File Systems Motivation SQL (Structured Query Language) MapReduce 1 תרגול 1."— Presentation transcript:

1 File Systems Motivation SQL (Structured Query Language) MapReduce 1 תרגול 1

2 2 Data filesIndex filesSystem catalog Disk SQL interface Query evaluation engine : Transaction manager Lock manager Recovery manager Disk space manager Buffer manager File and access methods Plan executorOperator Evaluator ParserOptimizer

3 אי תלות במודל הנתונים יתרון חשוב של השימוש במערכת לניהול מסדי נתונים : אי תלות במודל הנתונים. מושג ע " י שלוש רמות של הפשטה : 3 רמה פיסית רמה לוגית מבטי משתמש ( views ) אי תלות באחסון הפיזי מעבר לכאן אי תלות בארגון הלוגי מעבר לכאן תאור המידע לפי המודל שלנו ( מאורגן לפי סכימה רלציונית )

4 4 מסדי נתונים ─ הרמות העליונות רמת משתמש הקצה : לכל משתמש מבט ( חלקי ) על המסד. משתמשים שונים יכולים לראות מבטים שונים, ואלו לא בהכרח משקפים את ארגון הנתונים הפיזי במסד.

5 5 SQL: מושגים טבלה, רלציה סכמה חיהגילצבע שורה, רשומה, n- יה חתול 23 ורוד עמודה, תכונה, שדה, אטריביוט שחור סגלגל ורוד

6 DBMS - 236363, שפות שאילתה : SQL6 Borrowed Cust_Id Book_Id From_Date To_Date Ordered Cust_Id Book_Id Order_Date Books Book_Id Book_Name Year Max_Time Faculty Pages Customers Cust_Id Cust_Name Faculty מסד נתונים של ספרייה דוגמא של מסד נתונים

7 7 פירוט הטבלאות ( המשך...) Books(Book_Id, Book_Name, Year, Max_Time, Faculty, Pages) –Book_Id: מס ' מזהה ( ייחודי לכל עותק ) –Book_Name: שם הכותר –Year: שנת הוצאה –Max_Time: משך השאלה מקס ' אפשרי ( בימים ) –Faculty: שם פקולטה –Pages: מס ' עמודים

8 8 הטבלה Books FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555

9 9 פירוט הטבלאות ( המשך...) Ordered(Cust_Id, Book_Id, Order_Date) –Cust_Id: מס ' זהות של לקוח –Book_Id : מס ' מזהה ( ייחודי לכל עותק ) –Order_Date: תאריך הזמנת הכותר

10 10 טבלת Ordered Order_Date Book_Id Cust_Id 14-Oct-2002111112345 24-Oct-2002111245678 30-Oct-2002111312345 12-Oct-2002222245678

11 11 שאילתות ב -SQL: SELECT SELECT column1, col2, f(col3, col4), … FROM table;

12 12 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא Books: FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא: שליפת כל שמות הספרים ומספר העמודים בכל ספר: SELECT Book_Name, Pages FROM Books;

13 13 SELECT Book_Name, Pages FROM Books: PagesBook_Name 348 Database Systems 348 Database Systems 424 Database Systems 390Database And Knowledge 390Database And Knowledge 180Electronic Circuits 580Genes 7 450Anatomy דוגמא - תוצאה

14 14 שליפת כל השדות לשליפת כל השדות, משתמשים בתו "*" ( כוכבית ). דוגמא : שליפת כל השדות של כל הספרים : * SELECT * FROM Books;

15 15 בחירת חלק מהרשומות Where - האופציה WHERE condition מאפשרת לבחור רק חלק מהרשומות. דוגמא : שליפת שמות כל הספרים שהוצאו אחרי השנה 1990: SELECT Book_Name FROM Books WHERE WHERE Year > 1990;

16 16 FacultyPage s Max_Tim e YearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge 2222 EE39071998Database And Knowledge 2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 Books: דוגמא - המשך FacultyPage s Max_Tim e YearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge 2222 EE39071998Database And Knowledge 2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 FacultyPage s Max_Tim e YearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge 2222 EE39071998Database And Knowledge 2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 SELECT Book_Name FROM Books WHERE Year > 1990

17 17 Book_Name Database Systems Database And Knowledge Electronic Circuits דוגמא - תוצאה SELECT Book_Name FROM Books WHERE Year > 1990 :

18 18 WHERE ( המשך...) תנאים יותר מורכבים : – שימוש בסימני היחס : >, =,, =<... – שימוש בקשרים לוגיים : AND, OR, NOT. דוגמא : שליפת שמות כל הספרים שהוצאו בין השנים 1990 ו - 2000: SELECT Book_Name FROM Books >=AND = 1990 AND Year <= 2000;

19 19 השמטת כפילויות - DISTINCT האופציה DISTINCT משמיטה את הרשומות הכפולות מתוצאת השאילתא. דוגמא : שליפת כל שמות הספרים ושנות ההוצאה, ללא חזרות. DISTINCT SELECT DISTINCT Book_Name, Year FROM Books;

20 20 FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - המשך Books: DISTINCT SELECT DISTINCT Book_Name, Year FROM Books; FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555

21 21 YearBook_Name 1998 Database Systems 1998 Database Systems 2001 Database Systems 1998Database And Knowledge 1998Database And Knowledge 1998Electronic Circuits 1985Genes 7 1988Anatomy דוגמא - תוצאה YearBook_Name 1998 Database Systems 2001 Database Systems 1998Database And Knowledge 1998Electronic Circuits 1985Genes 7 1988Anatomy ללא DISTINCT אחרי DISTINCT YearBook_Name 1998 Database Systems 1998 Database Systems 2001 Database Systems 1998Database And Knowledge 1998Database And Knowledge 1998Electronic Circuits 1985Genes 7 1988Anatomy

22 22 מיון - ORDER BY ORDER BY : מיון של הרשומות הנשלפות על פי הערכים של שדות או ביטויים נתונים. דוגמא : שליפת כל פרטי הספרים ממוינים לפי שנת ההוצאה : SELECT * FROM Books ORDER BY ORDER BY Year;

23 23 SELECT * FROM Books;SELECT * FROM Books ORDER BY Year; FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555 דוגמא - תוצאה FacultyPagesMax_TimeYearBook_NameBook_Id MED58071985Genes 74444 MED45071988Anatomy5555 CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS39011998Database And Knowledge2222 EE180211998Electronic Circuits3333 EE39071998Database And Knowledge2223 CS42472001 Database Systems 1113

24 24 פונקציות סטטיסטיות ב - SQL ישנן הפונקציות הסטטיסטיות הבאות : MIN – מינימום MAX – מקסימום AVG – ממוצע SUM – סכום COUNT – מספר הרשומות כל אחת מפונקציות אלה פועלת על קבוצת ערכים ומחזירה ערך אחד.

25 25 דוגמא דוגמא : חשב את מספר העמודים הממוצע והמקסימלי בין כל הספרים : פתרון : SELECT AVG(Pages), MAX(Pages) FROM Books;

26 26 דוגמא – המשך SELECT AVG(Pages), MAX(Pages) FROM books; FacultyPagesMax_TimeYearBook_NameBook_Id CS34871998 Database Systems 1111 CS348141998 Database Systems 1112 CS42472001 Database Systems 1113 CS39011998Database And Knowledge2222 EE39071998Database And Knowledge2223 EE180211998Electronic Circuits3333 MED58071985Genes 74444 MED45071988Anatomy5555

27 27 דוגמא – המשך SELECT AVG(Pages), MAX(Pages) FROM books; Pages 348 424 390 180 580 450 AVG(Pages)MAX(Pages) 389580

28 MapReduce מטרה : לחלק פעולה מורכבת למספר פעולות אותן ניתן לבצע במקביל. מאגר מפתח - ערך : לכל ערך ( תמונה, רשימת ציונים, מחרוזת כלשהי ) יש מפתח חד - ערכי. פעולות פשוטות : הוספת ערך לפי מפתח שאינו במאגר, הוצאת ערך לפי מפתח מהמאגר, עדכון ערך לפי מפתח מהמאגר, חיפוש ערך לפי מפתח. keyvalue “picture”pic.jpg “fs_hw”hw1.doc “grade”98

29 MapReduce דוגמא לפעולה מורכבת ( במסד נתונים של ספרייה ): לכל לקוח, יש לציין מהוא המספר המזהה הגדול ביותר של ספר שהוא הזמין או השאיל. שאילתא במודל MapReduce מוגדרת בשני שלבים : 1. map (k1, v1) → list (k2, v2) 2. reduce (k2, list(v2)) → list(v3) map: חלוקת הבעיה למספר תתי - בעיות קטנות יותר. reduce: פתרון כל תת - בעיה. כיצד נחלק את הבעיה הנתונה לנו לתתי - בעיות ?

30 MapReduce לכל לקוח, יש לציין מהוא המספר המזהה הגדול ביותר של ספר שהוא הזמין או השאיל. 1. map (k1, v1) → list (k2, v2) 2. reduce (k2, list(v2)) → list(v3) פתרון : כל מספר מזהה של לקוח יגדיר תת - בעיה. 1. map (name, value) → (cust_id, book_id) 2. reduce (cust_id, list(book_id)) → list (cust_id, book_id)

31 1. map (name, value) → (cust_id, book_id) 2. reduce (cust_id, list(book_id)) → list (cust_id, book_id) to_datefrom_ date book_idcust_id 20/0210/0275123 18/0215/0220222 05/0220/0170111 order_datebook_idcust_id 26/0250123 26/02100111 28/0260111 book_idcust_id 100111 60111 70111 book_idcust_id 50123 75123 book_idcust_id 20222

32 1. map (name, value) → (cust_id, book_id) 2. reduce (cust_id, list(book_id)) → list (cust_id, book_id) book_idcust_id 100111 60111 70111 book_idcust_id 50123 75123 book_idcust_id 20222 book_idcust_id 100111 75123 50222


Download ppt "File Systems Motivation SQL (Structured Query Language) MapReduce 1 תרגול 1."

Similar presentations


Ads by Google