מחסני נתונים (Data Warehousing)

Slides:



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

כריית מידע -- Clustering
מבוא למדעי המחשב לתעשייה וניהול
בתרגול הקודם הורשה: –ניתן להרחיב רק מחלקה אחת –כל מה שלא private – עובר בהורשה –המילה השמורה super –יצירת היררכיה –Object היא שורש ההיררכיה –דריסה אופרטור.
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
חוקי Association ד " ר אבי רוזנפלד. המוטיבציה מה הם הדברים שהולכים ביחד ? –איזה מוצרים בסופר שווה לשים ביחד –מערכות המלצה – Recommendation Systems שבוע.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
אקסס מבוא למערכות מידע.
Presentation by Dudu Yanay and Elior Malul 1.  מה משותף לכל אלגוריתם המשתמש ב -Bucket Elimination: ◦ נתון מודל הסתברותי ורשת ביסיאנית מתאימה. ◦ נתונה.
מתמטיקה בדידה תרגול 3.
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות : המשתמש יבחר קובץ שעליו הוא רוצה לבצע את האנליזה, וילחץ עליו עם כפתור ימני בעכבר. יפתח תפריט ובו.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
1 Data Warehousing. 2 Data Warehouse A data warehouse is a huge database that stores historical data Example: Store information about all sales of products.
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
Power Consumption Awareness by using a Pedometer המעבדה לרשתות מחשבים המעבדה לרשתות מחשבים סמסטר אביב תשס " ח סמסטר אביב תשס " ח מנחים: איתי דברן – המעבדה.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
A. Frank File Organization Indexed-Sequential File Introduction Thanks to Tamar Barnes.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות:  המשתמש בוחר קובץ שעליו הוא רוצה לבצע את האנליזה, ולוחץ עליו עם כפתור ימני בעכבר.  נפתח תפריט.
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
Questions are the Answer Penick&all H ISTORY R ELATIOINSHIPS A PPLICATION S PECULATION E XPLANATION.
מסדי נתונים תשס " ג 1 More on SQL קורס מסדי נתונים.
אביב תשס"ה DBMS, צורות נורמליות1 צורות נורמליות: 3NF,BCNF צורה נורמלית (Normal Form) היא תכונה של סכמה רלציונית, המודדת את "טיב" הסכמה מבחינת מניעת.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
DBMS , שפות שאילתה: SQL (ב')
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
Galileo Navigation System Software Systems lab Software Systems lab סמסטר חורף תשס " ט סמסטר חורף תשס " ט מנחה: ולדימיר זדורנוב משה חיות מבצעים: גליה סימנובסקי.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts SQL n מבנה שאילתה n פונקציות צבירה.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
מתמטיקה בדידה תרגול 2.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #3 Internet Control Message Protocol (ICMP)
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)
מבוא לחשבונאות ניהולית. היחס בין חשבונאות פיננסית לניהולית פיננסיתניהולית פנימיים מותאמים לארגון בחלקים מסוימים יכול להיות : תחזית כמותי או איכותי מוניטרי.
מסדי נתונים תשס " ג 1 תכנון וכוונון מסד הנתונים (Tuning the Database) קורס מסדי נתונים.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
1 מבוא למדעי המחשב הרצאה 21: Queue, Iterator & Iterable.
File Systems Motivation SQL (Structured Query Language) MapReduce 1 תרגול 1.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
עבודה עם נתונים באמצעות ADO.NET
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
בחירת חומר גלם כתב: עמרי שרון.
מבוא למערכות מידע פרק 1.
Presentation transcript:

מחסני נתונים (Data Warehousing) קורס מסדי נתונים מסדי נתונים תשס"ג

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

שאילתות OLTP ו- OLAP השאילתות עד כה הן Online Line Transaction Processing (OLTP), כלומר הרבה שאילתות קטנות שהתוצאה שלהן נדרשת באופן מיידי סוג אחר של שאילתות הן שאילתות Online Line Analytical Processing (OLAP) שלרוב מופעלות על מחסני נתונים בשאילתות שימוש רב בפונקציות הקבצה אין צורך בתוצאות מיידיות חישובי סטטיסטיקות על הנתונים כחלק מתמיכה בקבלת החלטות מסדי נתונים תשס"ג

יצירת מחסן נתונים נדרש צירוף נתונים ממקורות שונים נדרש שינוי בסכימה של הנתונים להתאמה לסכימה אחידה נדרשת התאמה ביחידות של הנתונים המאוחדים לעיתים נדרשת תמיכה בעדכון נתונים שהשתנו לעיתים נדרשת תמיכה בניקוי נתונים שהתיישנו נדרשת שמירת מידע על הנתונים (metadata repository) כדי לנהל את הנתונים מסדי נתונים תשס"ג

תכנון הטבלאות במחסן הנתונים לרוב נעשה שימוש בסכימת כוכב: טבלת נתונים (fact table) שגדלה באופן קבוע טבלאות ממד (dimension tables) קטנות שלרוב נשארות קבועות לדוגמא: Sales(pid, timeid, locid, amount) Products(pid, pname, category, price) Locations(locid, city, start, country) Times(timeid, date, week, month, holiday_flag) טבלת נתונים טבלאות ממד מסדי נתונים תשס"ג

צורות נורמליות טבלת נתונים בצורת BCNF טבלאות ממד: לא בהכרח בצורת BCNF מיעוט פעולות הוספה, ביטול ועדכון ולכן מיעוט בעיות של אי עקביות ואי סדירות יחסית מעט מידע ולכן כפילויות אינן מהוות בעיה מאפשר חישוב יעיל של שאילתות משום שהפירוק אינו דורש ביצוע פעולות צירוף טבעי מסדי נתונים תשס"ג

כריית נתונים (Data Mining) מסדי נתונים תשס"ג

כריית נתונים כריית נתונים הוא תהליך של מציאת הקשרים מעניינים או תבניות במסדי נתונים גדולים לצורך תמיכה בקבלת החלטות עתידיות כריית נתונים מאופיינת בניתוח מידע על סמך קבוצות נתונים גדולות מאוד מסדי נתונים תשס"ג

דוגמאות מציאת קישורים בין מוצרים שנקנים בחנות: החלטה על הנחה במוצר דוגמת הבירה והחיתולים החלטה על הנחה במוצר קביעת רשימת הספרים המומלצים שיופיעו בסוף ספר מסוים כיצד לסווג לקוחות לצורך משלוח יעיל של עלוני פרסומת מסדי נתונים תשס"ג

Data Mining vs. Machine Learning כמות הנתונים: מסד הנתונים מאוד גדול אז על האלגוריתמים להיות מותאמים לכך עיצוב: מסדי נתונים לרוב אינם מעוצבים למימוש כריית נתונים ולכן תכונותיהם לא מתאימות לכריית נתונים שגיאות ורעש: כמעט תמיד מסדי נתונים מכילים שגיאות מסדי נתונים תשס"ג

(Sequence Patterns, Classification Rules) טכניקות כריית נתונים טכניקה קורס שעוסק בנושא Decision Trees מבוא לבינה מלאכותית Neural Networks רשתות נוירונים 1, רשתות נוירונים 2 K-Nearest Neighbor גיאומטריה חישובית Association Rules (Sequence Patterns, Classification Rules) מסדי נתונים מסדי נתונים תשס"ג

חוקי קישור (Association Rules) סל קניות הוא אוסף של פריטים שנקנו בידי לקוח יחיד בקניה יחידה הבעיה: זיהוי קבוצות של פריטים שנקנו יחד מנסים לזהות חוקים מהצורה {pen}  {ink} המשמעות: אם עט נרכש בקניה אז סביר להניח שגם דיו נרכש בקניה מסדי נתונים תשס"ג

טבלת רכישות לדוגמה transid item 111 pen ink diary soap 112 transid 113 pen diary 114 ink soap tissues מסדי נתונים תשס"ג

מדדים לחוקי קישור צורה כללית של חוק קישור: LR כאשר L ו-R הן קבוצות של פריטים תמיכה (Support): התמיכה בחוק LR היא אחוז עסקאות הקניה שמכילות את כל הפריטים מ-L ומ-R וודאות (Cnfidence): הוודאות של חוק LR היא אחוז עסקאות הקניה שכוללות את R מבין העסקאות שכוללות את L מסדי נתונים תשס"ג

דוגמאות לחוק{pen}{ink} יש: לחוק {tissues}{ink}יש תמיכה: ודאות: לחוק {tissues}{ink}יש לחוק {pen}{soap} יש מסדי נתונים תשס"ג

אינטואיציה למדדים אם לחוק תמיכה נמוכה יתכן שהוא נתגלה במקרה ואין מספיק עדויות כדי לבסס אותו אם לחוק LR יש וודאות נמוכה סביר להניח שאין קשר בין רכישת L ורכישת R הערה: החוקים RL ו-LR יש להם תמיכה זהה אבל עשויה להיות להם ודאות שונה מסדי נתונים תשס"ג

המטרה מעונינים למצוא חוקי קישור בעלי תמיכה גבוהה וודאות גבוהה (בהתייחס למינימום תמיכה ומינימום ודאות הנתונים על ידי המשתמש) מסדי נתונים תשס"ג

אלגוריתם לחישוב בהנתן ערכים s ו-c, יש למצוא את כל חוקי הקישור עם תמיכה גדולה או שווה ל-s ועם וודאות גדולה או שווה ל-c ניתן לבצע את החישוב בשני שלבים: שלב 1: מציאת קבוצות פריטים בעלות תדירות גבוהה (קבוצות פריטים בעלות תמיכה >= s) שלב 2: לכל קבוצה בעלת תדירות גבוהה F, עוברים על כל החלוקות של F ל-R ול-L ובודקים אם לחוק LRיש וודאות >= c מסדי נתונים תשס"ג

מציאת קבוצות בעלות תדירות גבוהה כיצד נעשה זאת? ? מסדי נתונים תשס"ג

מציאת קבוצות בעלות תדירות גבוהה תכונה אפריורית (The A Priori Property): כל תת קבוצה של קבוצה בעלת תדירות גבוהה היא בעלת תדירות גבוהה מהתכונה האפריורית מתקבל שניתן לייצר באופן איטרטיבי את הקבוצות בעלות התדירות הגבוהה: לוקחים קבוצות פריטים בעלות תדירות גבוהה שגודלן n מרחיבים את הקבוצות בגודל n לקבוצות בעלות תדירות גבוהה בגודל n+1 מסדי נתונים תשס"ג

מציאת קבוצות בעלות תדירות גבוהה Freq = {} scan all transactions once and add to Freq the items that have support > s k = 1 repeat foreach Ik in Freq with k items generate all itemsets Ik+1 with k+1 items, such that Ik is contained in Ik+1 scan all transactions once and add to Freq the k+1-itemsets that have support > s k++ until no new frequent itemsets are found מסדי נתונים תשס"ג

דוגמא מריצים את האלגוריתם עם תמיכה = 0.7 שלב 1: מציאת קבוצות עם תדירות גבוהה: {pen}, {ink}, {diary} שלב 2: בודקים את הקבוצות הבאות: {pen, ink}, {pen, diary}, {pen, soap}, {pen, tissues}, {ink, diary}, {ink, soap}, {ink, tissues}, {diary, soap}, {diary, tissues} הקבוצות עם תדירות >= 0.7 הן: {pen, ink}, {pen, diary} מסדי נתונים תשס"ג

המשך דוגמא שלב 3: בודקים כל אחת מהקבוצות: {pen, ink, diary}, {pen, ink, soap}, {pen, ink, tissues}, {pen, diary, soap}, {pen, diary, tissues} אין קבוצות עם תדירות >= 0.7 מקבלים שקבוצות הפריטים עם התדירות הגבוהה הן: {pen}, {ink}, {diary} {pen, ink}, {pen, diary} מסדי נתונים תשס"ג

עידון של האלגוריתם באלגוריתם, נבדק האם {pen, tissues} זו קבוצה בעלת תדירות גבוהה גם כאשר היה ידוע ש- {tissues} אינה קבוצה בעלת תדירות גבוהה עידון: מרחיבים קבוצות פריטים בעלות תדירות גבוהה רק על ידי פריטים כך שכל תת הקבוצות אחרי ההרחבה יהיו קבוצות פריטים בעלות תדירות גבוהה יתכן שטבלת הקניות לא נכנסת לזיכרון הראשי ואז הסריקה תהיה יקרה הפתרון: דוגמים את טבלת הקניות ומשתמשים בדגימה בעלת גודל שתואם את הזיכרון הראשי במקום להשתמש בטבלת הקניות עצמה מסדי נתונים תשס"ג

גזירת חוקי קישור foreach frequent itemset I foreach partition of I to two sets L, R generate a candidate rule LR foreach transaction T in the database foreach candidate rule LR if L in T then lnum(LR)++ if R in T then rnum(LR)++ return all rules LR with rnum(LR)/lnum(LR) > c מסדי נתונים תשס"ג

הכללת חוקי קישור רוצים לדעת האם בימי חמישי {milk}{bread} באופן שונה מיתר ימי השבוע, כיצד נעשה זאת? רוצים לדעת האם לקוחות מתל אביב מתקיימים לגביהם אותם חוקי גרירה שמתקיימים ללקוחות מירושלים מסדי נתונים תשס"ג

סוגים אחרים של חוקים תבניות סדרתיות (Sequential Patterns) כל קניה עבור כל לקוח היא קבוצה של פריטים סדרה של קניות היא סדרה של קבוצות פריטים לדוגמא: {pen, ink, soap}, {pen, ink diary, soap} תת סדרה נגזרת מסדרה על ידי מחיקת מספר קבוצות במלואן מהסדרה מחיקת פריטים מקבוצות אחרות בסדרה מסדי נתונים תשס"ג

תבניות סדרה {pen}, {ink, diary}, {pen, soap} היא תת סדרה של {pen, ink}, {shirt}, {milk, ink, diary}, {soap, pen, diary} אינה תת סדרה של {pen, ink}, {shirt}, {soap, pen, diary}, {milk, ink, diary} מסדי נתונים תשס"ג

תבניות סדרה התמיכה בתבנית סדרה S היא אחוז סדרות הקניה של הלקוחות ש-S היא תת סדרה שלהן סדרה s1, s2, ..., sn בעלת תמיכה גבוהה מעידה שמי שקנה את s1 בסבירות גבוהה יקנה את s2 בהמשך וכן הלאה... מציאת תבניות סדרה: נעשה באופן דומה למציאת קבוצות פריטים בעלות תדירות גבוהה מתחילים עם סדרות קטנות ומנסים להרחיב אותן מסדי נתונים תשס"ג

חוקי סיווג (Classification Rules) נתונה טבלה: InsuranceInfo(custid:integer, age:integer, cartype:string, highrisk:boolean) מעונינים למצוא חוקים מהסוג הבא: "אם הגיל הוא בטווח מסוים והמכונית מסוג מסוים אז הלקוח הוא לקוח בסיכון גבוה" ניתן להפעיל את החוק על לקוחות חדשים שבאים לבטח את המכונית שלהם מסדי נתונים תשס"ג

חוקי סיווג (Classification Rules) צורה כללית: (l1< X1< h1) and ... and (lk < Xk < hk)Y=c משתמשים בערכים עבור X1,...,Xk לקביעת Y מסדי נתונים תשס"ג

מינוחים אטריביוט תלוי (dependent attribute) נקבע בחוק אטריביוט קובע (predictor attribute) מופיעים בגוף החוק אטריביוט מספרי: li<=Xi<=hi אטריביוט קטגורי: Xi in {v1 …vj} חוקי סיווג (classification rules) – האטריביוט התלוי הוא קטגורי חוקי רגרסיה (regression rules) – האטריביוט התלוי הוא מספרי מסדי נתונים תשס"ג

דוגמא (18< age< 25) and (cartype in {Sports,Truck})  highrisk=true מסדי נתונים תשס"ג

תמיכה וודאות תמיכה: תמיכה בתנאי C היא אחוז הרשומות שמספקות את C C1 and C2 וודאות: הודאות של חוק C1C2 היא אחוז הרשומות שמספקות את C2 מבין הרשומות שמספקות את C1 מסדי נתונים תשס"ג

עצי בחירה (עצי סיווג) Age Car Type no no Yes ניתן לייצר חוקי סיווג <=25 >25 Car Type no Sedan Sports, Truck no Yes ניתן לייצר חוקי סיווג ממסלולים משורש העץ לעלה מסדי נתונים תשס"ג