32
File Systems Motivation SQL (Structured Query Language) MapReduce 1 ללללל1

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

Embed Size (px)

Citation preview

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

File Systems

MotivationSQL (Structured Query Language)

MapReduce

1

1תרגול

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

2Data files Index files System 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

Parser Optimizer

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

אי תלות במודל הנתוניםיתרון חשוב של השימוש במערכת לניהול מסדי נתונים: אי תלות במודל הנתונים.

מושג ע"י שלוש רמות של הפשטה:

3

רמה פיסית

רמה לוגית

מבטי משתמש (views )

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

4

הרמות העליונות─מסדי נתונים

: רמת משתמש הקצה•

לכל משתמש מבט )חלקי( על המסד. משתמשים שונים

יכולים לראות מבטים שונים, ואלו לא בהכרח משקפים

את ארגון הנתונים הפיזי במסד.

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

5

SQLמושגים :

טבלה, רלציה

צבעגילחיהסכמה

שורה, רשומה,

nיה-

ורוד23חתול

עמודה, תכונה, שדה, אטריביוט

שחור

סגלגלורוד

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

DBMS - 236363, שפות שאילתה: SQL

6

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

מסד נתונים של ספרייה

דוגמא של מסד נתונים

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

7

פירוט הטבלאות )המשך...(

• Books(Book_Id, Book_Name, Year, Max_Time, Faculty, Pages)

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

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

8

Booksהטבלה

Book_IdBook_NameYearMax_TimePagesFaculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge19981390CS

2223Database And Knowledge19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

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

9

פירוט הטבלאות )המשך...(

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

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

10

Ordered טבלת

Cust_IdBook_IdOrder_Date

12345111114-Oct-2002

45678111224-Oct-2002

12345111330-Oct-2002

45678222212-Oct-2002

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

11

SQL: SELECTשאילתות ב-

SELECT column1, col2, f(col3, col4), …

FROM table;

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

12

Book_IdBook_NameYearMax_TimePagesFaculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge19981390CS

2223Database And Knowledge19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

דוגמא

Books:

Book_IdBook_NameYearMax_TimePagesFaculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge19981390CS

2223Database And Knowledge19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

דוגמא: שליפת כל שמות הספרים ומספר העמודים בכלספר:

SELECT Book_Name, Pages FROM Books;

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

13

SELECT Book_Name, Pages FROM Books:

Book_NamePages

Database Systems 348

Database Systems 348

Database Systems424

Database And Knowledge390

Database And Knowledge390

Electronic Circuits180

Genes 7580

Anatomy450

דוגמא - תוצאה

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

14

שליפת כל השדות

לשליפת כל השדות, משתמשים בתו "*" •)כוכבית(.

דוגמא: שליפת כל השדות של כל הספרים:•

SELECT ** FROM Books;

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

15

Whereבחירת חלק מהרשומות -

מאפשרת לבחור WHERE conditionהאופציה •רק חלק מהרשומות.

דוגמא: שליפת שמות כל הספרים שהוצאו •:1990אחרי השנה

SELECT Book_Name

FROM Books

WHEREWHERE Year > 1990;

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

16

Book_IdBook_NameYearMax_Time

Pages

Faculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge

19981390CS

2223Database And Knowledge

19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

Books:

דוגמא - המשך

Book_IdBook_NameYearMax_Time

Pages

Faculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge

19981390CS

2223Database And Knowledge

19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

Book_IdBook_NameYearMax_Time

Pages

Faculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge

19981390CS

2223Database And Knowledge

19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

SELECT Book_Name FROM Books WHERE Year > 1990

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

17

Book_Name

Database Systems

Database Systems

Database Systems

Database And Knowledge

Database And Knowledge

Electronic Circuits

דוגמא - תוצאה

SELECT Book_Name FROM Books WHERE Year > 1990 :

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

18

WHERE)...המשך(

:תנאים יותר מורכבים•שימוש בסימני היחס: <, =, >, ><, => ...–.AND, OR, NOTשימוש בקשרים לוגיים: –

דוגמא: שליפת שמות כל הספרים שהוצאו בין •:2000 ו- 1990השנים

SELECT Book_Name

FROM Books

WHERE Year >=>= 1990 ANDAND Year <=<= 2000;

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

19

השמטת כפילויות -DISTINCT

משמיטה את הרשומות DISTINCTהאופציה •הכפולות מתוצאת השאילתא.

דוגמא: שליפת כל שמות הספרים ושנות •ההוצאה, ללא חזרות.

SELECT DISTINCTDISTINCT Book_Name, Year

FROM Books;

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

20

Book_IdBook_NameYearMax_TimePagesFaculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge19981390CS

2223Database And Knowledge19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

דוגמא - המשך

Books:

SELECT DISTINCTDISTINCT Book_Name, Year FROM Books;

Book_IdBook_NameYearMax_TimePagesFaculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge19981390CS

2223Database And Knowledge19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

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

21

Book_NameYear

Database Systems 1998

Database Systems 1998

Database Systems2001

Database And Knowledge1998

Database And Knowledge1998

Electronic Circuits1998

Genes 71985

Anatomy1988

דוגמא - תוצאה

Book_NameYear

Database Systems 1998

Database Systems2001

Database And Knowledge1998

Electronic Circuits1998

Genes 71985

Anatomy1988

DISTINCTללא DISTINCTאחרי

Book_NameYear

Database Systems 1998

Database Systems 1998

Database Systems2001

Database And Knowledge1998

Database And Knowledge1998

Electronic Circuits1998

Genes 71985

Anatomy1988

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

22

ORDER BY מיון -

•ORDER BY מיון של הרשומות הנשלפות על : פי הערכים של שדות או ביטויים נתונים.

דוגמא: שליפת כל פרטי הספרים ממוינים לפי •שנת ההוצאה:

SELECT * FROM Books

ORDER BYORDER BY Year;

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

23

SELECT * FROM Books;SELECT * FROM Books ORDER BY Year;

Book_IdBook_NameYearMax_TimePagesFaculty

1111Database Systems 19987348CS

1112Database Systems199814348CS

1113Database Systems20017424CS

2222Database And Knowledge19981390CS

2223Database And Knowledge19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

דוגמא - תוצאה

Book_IdBook_NameYearMax_TimePagesFaculty

4444Genes 719857580MED

5555Anatomy19887450MED

1111Database Systems 19987348CS

1112Database Systems199814348CS

2222Database And Knowledge19981390CS

3333Electronic Circuits199821180EE

2223Database And Knowledge19987390EE

1113Database Systems20017424CS

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

24

פונקציות סטטיסטיות

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

ערכים ומחזירה ערך אחד.

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

25

דוגמא

: חשב את מספר העמודים הממוצע דוגמא•והמקסימלי בין כל הספרים:

:פתרון•

SELECT AVG(Pages), MAX(Pages)

FROM Books;

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

26

דוגמא – המשךSELECT AVG(Pages), MAX(Pages)FROM books;

Book_IdBook_NameYearMax_TimePagesFaculty

1111Database Systems 19987348CS

1112Database Systems 199814348CS

1113Database Systems20017424CS

2222Database And Knowledge19981390CS

2223Database And Knowledge19987390EE

3333Electronic Circuits199821180EE

4444Genes 719857580MED

5555Anatomy19887450MED

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

27

דוגמא – המשךSELECT AVG(Pages), MAX(Pages)FROM books;

Pages

348

348

424

390

390

180

580

450

AVG)Pages(MAX)Pages(

389580

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

MapReduceאותן מטרה• פעולות למספר מורכבת פעולה לחלק :

ניתן לבצע במקביל.מפתח-ערך• ציונים, מאגר רשימת )תמונה, ערך לכל :

מחרוזת כלשהי( יש מפתח חד-ערכי.פשוטות• שאינו פעולות מפתח לפי ערך הוספת :

ערך עדכון מהמאגר, מפתח לפי ערך הוצאת במאגר, לפי מפתח מהמאגר, חיפוש ערך לפי מפתח.

valuekey

pic.jpg“picture”

hw1.doc“fs_hw”

98“grade”

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

MapReduce דוגמא לפעולה מורכבת )במסד נתונים של ספרייה(:•

הגדול המזהה המספר מהוא לציין יש לקוח, לכל ביותר של ספר שהוא הזמין או השאיל.

: מוגדרת בשני שלביםMapReduceשאילתא במודל •

1 .map (k1, v1) → list (k2, v2)

2 .reduce (k2, list(v2)) → list(v3)

•map.חלוקת הבעיה למספר תתי-בעיות קטנות יותר :•reduce.פתרון כל תת-בעיה :כיצד נחלק את הבעיה הנתונה לנו לתתי-בעיות?•

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

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)

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

1 .map (name, value) → (cust_id, book_id)

2. reduce (cust_id, list(book_id)) → list (cust_id, book_id)

cust_idbook_idfrom_date

to_date

1237510/0220/02

2222015/0218/02

1117020/0105/02

cust_idbook_idorder_date

1235026/02

11110026/02

1116028/02

cust_idbook_id

111100

11160

11170

cust_idbook_id

12350

12375

cust_idbook_id

22220

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

1 .map (name, value) → (cust_id, book_id)

2. reduce (cust_id, list(book_id)) → list (cust_id, book_id)

cust_idbook_id

111100

11160

11170

cust_idbook_id

12350

12375

cust_idbook_id

22220

cust_idbook_id

111100

12375

22250