ניהול כתיבת שאילתות למטמון

Oracle Analytics Cloud מתחזק מטמון מקומי של סלי תוצאות שאילתות במטמון השאילתות.

נושאים:

אודות מטמון השאילתות

מטמון השאילתות מאפשר ל-Oracle Analytics Cloud למלא בקשות שאילתות רבות המגיעות בהמשך מבלי לגשת למקורות נתונים עורפיים, מה שמשפר את ביצועי השאילתות. עם זאת, הרשומות במטמון השאילתות עשויות להתיישן כתוצאה מעדכונים במקורות הנתונים העורפיים.

יתרונות הכתיבה למטמון

הדרך המהירה ביותר לעבד שאילתא היא לדלג על החלק העיקרי של העיבוד ולהשתמש בתשובה מחושבת מראש.

עם כתיבת שאילתות למטמון, Oracle Analytics Cloud מאחסן את התוצאות המחושבות מראש של שאילתות במטמון מקומי. אם שאילתא אחרת יכולה להשתמש בתוצאות אלה, כל עיבוד מסד נתונים לשאילתא זו מסולק. הדבר יכול להביא לשיפור דרמטי בזמן התגובה הממוצע לשאילתא.

בנוסף לשיפור בביצועים, היכולת להשיב לשאילתא ממטמון מקומי חוסכת משאבי רשת וזמן עיבוד בשרת מסד הנתונים. משאבי רשת נחסכים כיוון שתוצאות ביניים אינן מוחזרות ל-Oracle Analytics Cloud. אי-הרצת השאילתא במסד הנתונים משחררת את שרת מסד הנתונים לביצוע עבודה אחרת. אם מסד הנתונים משתמש בשיטה של חיוב חוזר, הרצת פחות שאילתות גם חוסכת עלויות בתקציב.

יתרון אחר של שימוש במטמון כדי להשיב לשאילתא הוא חיסכון בזמן עיבוד ב-Oracle Analytics Cloud, במיוחד אם תוצאות השאילתא מאוחזרות ממסדי נתונים רבים. בהתאם לשאילתא, ייתכן שיהיה עיבוד משמעותי מסוג איחוד ומיון בשרת. אם השאילתא כבר מחושבת, עיבוד זה נמנע, מה שמשחרר משאבי שרת למשימות אחרות.

לסיכום, כתיבת שאילתות למטמון יכולה לשפר באופן דרמטי את ביצועי השאילתות ולצמצם את התעבורה ברשת, העיבוד במסד הנתונים ותקורת העיבוד.

עלויות הכתיבה למטמון

לכתיבה למטמון יש יתרונות ברורים רבים, אך גם עלויות מסוימות.

  • סיכוי שהתוצאות במטמון מיושנות

  • עלויות מנהלה של ניהול המטמון

בניהול מטמון, היתרונות עולים בדרך כלל בהרבה על העלויות.

משימות מנהלה המשויכות לכתיבה למטמון

משימות מנהלה מסוימות קשורות לכתיבה למטמון. עליך להגדיר באופן מתאים את זמן ההתמדה של המטמון לכל טבלה פיזית, על סמך הידיעה על תדירות העדכונים של הנתונים בטבלה.

כאשר תדירות העדכונים משתנה, עליך לעקוב אחרי התרחשות השינויים ולסלק רשומות מהמטמון ידנית כאשר נדרש.

שמירה על עדכניות המטמון

אם רשומות המטמון אינן מסולקות כאשר הנתונים במסדי הנתונים הבסיסיים משתנים, שאילתות עשויות להחזיר תוצאות שאינן עדכניות.

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

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

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

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

בכל מצב עליך להעריך מה קביל למידע לא עדכני המוחזר למשתמשים.

שיתוף מטמון בין משתמשים

אם התחברות משותפת מאופשרת למאגר חיבורים מסוים, אפשר לשתף את המטמון בין משתמשים ואין צורך להגדיר בו נתונים מראש לכל משתמש.

אם התחברות משותפת אינה מאופשרת ונעשה שימוש בהתחברות למסד נתונים ייחודית למשתמש, כל משתמש מפיק רשומת מטמון משלו.

אפשור או חסימה של כתיבת שאילתות למטמון

ב-Oracle Analytics Cloud, מטמון השאילתות מאופשר כברירת מחדל.. אתה יכול לאפשר או לחסום כתיבת שאילתות למטמון בדף 'הגדרות מערכת'.

  1. לחץ על קונסולה.
  2. לחץ על הגדרות מערכת.
  3. לחץ על ביצועים ותאימות.
  4. הגדר את אפשר מטמון כמופעל או מושבת.
    • מופעל — כתיבה למטמון של שאילתות נתונים אפשרית.
    • מושבת - כתיבה למטמון חסומה
  5. לחץ על החל.
    המתן מספר דקות לרענון השינויים במערכת.

ניטור וניהול המטמון

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

אתה צריך תהליך שיבטל את התוקף של רשומות במטמון כאשר הנתונים בטבלאות הבסיס שמהוות את רשומת האתר משתנים, ותהליך שינטר, יזהה ויסיר מהמטמון רשומות לא רצויות.

הפרק כולל את הנושאים הבאים:

בחירת אסטרטגיית ניהול מטמון

הבחירה של אסטרטגיית ניהול מטמון תלויה בנדיפות הנתונים במסדי הנתונים הבסיסיים וביכולת לחזות השינויים שגורמים לנדיפות זו.

היא גם תלויה במספר ובסוגים של שאילתות שמרכיבות את המטמון ובשימוש בשאילתות אלה. פרק זה נותן מבט כללי על הגישות השונות לניהול מטמון.

חסימת כתיבה למטמון בשביל המערכת

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

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

מטמון ותזמון התמדת מטמון לטבלאות פיזיות ספציפיות

אתה יכול להגדיר לכל טבלה פיזית תכונה ניתנת לכתיבה במטמון, המאפשרת לך לציין אם שאילתות לטבלה זו נוספות למטמון כדי להשיב לשאילתות עתידיות.

אם אתה מאפשר כתיבה למטמון לטבלה מסוימת, כל שאילתא הקשורה לטבלה נוספת למטמון. כל הטבלאות ניתנות לכתיבה למטמון כברירת מחדל, אבל ייתכן שטבלאות מסוימות אינן מועמדים טובים להכללה במטמון אלא אם כן תקים הגדרות מתאימות של התמדת מטמון. למשל, נניח שיש לך טבלה שמאחסנת נתוני עדכוני שוק ההון שמעודכנים כל דקה. אתה יכול לציין שברצונך לסלק את הערכים בשביל הטבלה הזו כל 59 שניות.

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

  1. ב-Model Administration Tool, בשכבה הפיזית, לחץ לחיצה כפולה על הטבלה הפיזית.

    אם אתה משתמש בבונה מודלים סמנטיים, ראה מהם המאפיינים הכלליים של טבלה פיזית?.

  2. בתיבת הדו-שיח מאפייני טבלה פיזית, בכרטיסייה כללי, בצע אחת מהבחירות הבאות:

    • כדי לאפשר כתיבה למטמון, בחר ניתן לכתיבה במטמון.

    • כדי למנוע כתיבה של טבלה למטמון, בטל את הבחירה בניתן לכתיבה במטמון.

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

  4. לחץ על אישור.

אופן ההשפעה של שינויים במודל הסמנטי על מטמון השאילתות

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

שינויים במודל הסמנטי

כאשר אתה משנה מודל סמנטי או טוען קובץ .rpd אחר, כל שינוי שאתה עושה שמשפיע על רשומות מטמון גורם באופן אוטומטי לסילוק כל רשומות המטמון שמפנות לאובייקטים ששונו. הסילוק מתבצע כאשר אתה טוען את השינויים. לדוגמה, אם אתה מוחק טבלה פיזית ממודל סמנטי, כל רשומות המטמון שמפנות לטבלה זו מסולקות עם הצ'ק אין. כל שינוי שנעשה במודל סמנטי בשכבה הלוגית מסלק את כל רשומות המטמון למודל סמנטי זה.

שינויים במשתני מודל סמנטי גלובליים

הערכים של משתני מודל סמנטי גלובליים מרועננים על ידי נתונים המוחזרים משאילתות. כאשר אתה מגדיר משתנה מודל סמנטי גלובלי, אתה יוצר בלוק אתחול או משתמש באחד קיים שמכיל שאילתת SQL. אתה גם מגדיר תזמון שיריץ את השאילתא וירענן מזמן לזמן את ערך המשתנה.

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

אסטרטגיות לשימוש במטמון

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

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

אם אתה רוצה להגדיר נתונים מראש במטמון לכל המשתמשים, אתה יכול לעשות זאת באמצעות השאילתא הבאה:

SELECT משתמש, בקשות שירות

אחרי הגדרת נתונים מראש במטמון באמצעות SELECT משתמש, בקשות שירות, השאילתות הבאות הן קליעות למטמון:

SELECT משתמש, בקשות שירות WHERE user = valueof(nq_SESSION.USER) (והמשתמש היה USER1)
SELECT משתמש, בקשות שירות WHERE user = valueof(nq_SESSION.USER) (והמשתמש היה USER2)
SELECT משתמש, בקשות שירות WHERE user = valueof(nq_SESSION.USER) (והמשתמש היה USER3)

הפרק כולל את הנושאים הבאים:

אודות קליעות למטמון

כאשר כתיבה למטמון מאופשרת, כל שאילתא מוערכת כדי לקבוע אם היא ראויה לקליעה למטמון.

קליעה למטמון פירושה ש-Oracle Analytics Cloud הצליח להשתמש במטמון כדי להשיב לשאילתא וכלל לא ניגש למסד הנתונים. Oracle Analytics Cloud יכול להשתמש במטמון השאילתות כדי להשיב לשאילתות באותה רמה של סכימה או ברמה גבוהה יותר.

גורמים רבים קובעים אם יש קליעה למטמון. הטבלה להלן מתארת גורמים אלה.

גורם או כלל תיאור

תת-סל של עמודות ברשימת SELECT צריך להתאים

כל העמודות ברשימת SELECT של שאילתא חדשה צריכות להיות קיימות בשאילתא במטמון כדי שתהיה ראויה לקליעה למטמון, או שיהיה ניתן לחשב אותן מהעמודות בשאילתא.

כלל זה מתאר את הדרישה המזערית לקליעה למטמון, אך עמידה בדרישה זו אינה מבטיחה קליעה למטמון. גם הכללים האחרים המפורטים בטבלה זו חלים.

עמודות ברשימת SELECT יכולות להיות מורכבות מביטויים בעמודות של השאילתות במטמון.

Oracle Analytics Cloud יכול לחשב ביטויים בתוצאות במטמון כדי להשיב לשאילתא החדשה, אך כל העמודות חייבות להיות בתוצאה במטמון. לדוגמה, השאילתא:

SELECT product, month, averageprice FROM sales WHERE year = 2000

קולעת למטמון בשאילתא:

SELECT product, month, dollars, unitsales FROM sales WHERE year = 2000

כיוון שאת averageprice אפשר לחשב מdollars ו-unitsales (averageprice = dollars/unitsales).

הפסוקית WHERE צריכה להיות מבחינה סמנטית זהה או תת-סל לוגי

כדי שהשאילתא תיחשב כקליעה למטמון, אילוצי הפסוקיתWHERE צריכים להיות שווי ערך לתוצאות במטמון או תת-סל של התוצאות במטמון.

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

  • תת-סל של ערכי רשימת IN. שאילתות המבקשות פחות רכיבים משאילתא במטמון של רשימת IN ראויות לקליעה למטמון. לדוגמה, השאילתא הבאה:

    SELECT employeename, region
    FROM employee, geography
    WHERE region in ('EAST', 'WEST')

    נחשבת כקליעה בשאילתא הבאה במטמון:

    SELECT employeename, region
    FROM employee, geography
    WHERE region in ('NORTH', 'SOUTH', 'EAST', 'WEST')
  • היא מכילה פחות אילוצי OR (אך זהים) מאשר התוצאה במטמון.

  • היא מכילה תת-סל לוגי של השוואה ליטרלית. לדוגמה, הפרדיקט הבא:

    WHERE revenue < 1000

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

    WHERE revenue < 5000
  • אין פסוקית WHERE. אם שאילתא ללא פסוקית WHERE כתובה במטמון, שאילתות שמקיימות את כל הכללים האחרים של קליעה למטמון נחשבות כקליעות למטמון ללא קשר בפסוקית WHERE שלהן.

בנוסף, עמודות בשימוש בפסוקית WHERE צריכות להיות ברשימת התחזית. לדוגמה, השאילתא הבאה:

SELECT employeename
FROM employee, geography
WHERE region in ('EAST', 'WEST')

לא מביאה לקליעה למטמון בשביל השאילתא המוגדרת מראש ברשימה הקודמת ניוון ש-REGION איננו ברשימת התחזית.

שאילתות ממד-בלבד חייבות להיות התאמה מדויקת

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

שאילתות עם פונקציות מיוחדות חייבות להיות התאמה מדויקת

שאילתות אחרות המכילות פונקציות מיוחדות כגון פונקציות של סדרות זמן (AGO, TODATE ו-PERIODROLLING), פונקציות הגבלה והיסט (OFFSET ו-FETCH), פונקציות קשר (ISANCESTOR, ISLEAF, ISROOT ו-ISSIBLING), פונקציות סכימה חיצונית, ובדרך כלל מדדי סינון חייבים גם הם להיות התאמה מדויקת עם עמודות התחזית בשאילתא במטמון. במקרים אלה, גם המסנן חייב להיות התאמה מדויקת. למדדי סינון, אם אפשר לכתוב את מדד הסינון בצורת פסוקית WHERE, אזי אפשר למנף את מטמון תת-הסל.

סל של טבלאות לוגיות חייב להתאים

כדי להיות ראויות לקליעה למטמון, כל השאילתות הנכנסות חייבות להיות בעלות אותו סל של טבלאות לוגיות כמו הרשומה במטמון. כלל זה מונע קליעות שקריות למטמון. למשל, SELECT * FROM מוצר לא מתאים ל-SELECT * FROM מוצר, מכירות.

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

אם משפט SQL הלוגי או הפיזי מפנה למשתנה כלשהו של מושב עבודה, ערכי משתנה מושב העבודה חייבים להתאים. אחרת אין קליעה למטמון.

בנוסף, הערך של משתני מושב עבודה שהם רגישים לאבטחה חייבים להתאים לערכי משתני האבטחה של מושב העבודה המוגדרים במודל הסמנטי, גם אם משפט SQL הלוגי עצמו לא מפנה למשתנים של מושב עבודה. ראה הבטחת תוצאות מטמון נכונות בזמן שימוש באבטחת מסד נתונים ברמת השורה.

תנאי join שווי ערך

הטבלה הלוגית המאוחדת המתקבלת כתוצאה מבקשת שאילתא חדשה חייבת להיות זהה ל- (או תת-סל של) תוצאות במטמון כדי להיות ראויה לקליעה למטמון.

התכונה DISTINCT חייבת להיות זהה

אם שאילתא במטמון מסלקת רשומות כפולות עם עיבוד DISTINCT (למשל, SELECT DISTINCT...), אזי בקשות לעמודות במטמון חייבות גם הן לכלול את עיבוד DISTINCT; בקשה לאותה עמודה ללא עיבוד DISTINCT היא החטאה למטמון.

שאילתות חייבות להכיל רמות סכימה תואמות

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

SELECT supplier, region, city, qtysold
FROM suppliercity

השאילתא הבאה מבקשת את הכמות שנמכרה ברמת העיר.

SELECT city, qtysold
FROM suppliercity

השאילתא השנייה מביאה לקליעה למטמון בשאילתא הראשונה.

סכימה נוספת מוגבלת

למשל, אם שאילתא עם העמודה qtysold כתובה במטמון, בקשה ל-RANK(qtysold) מביאה להחטאה במטמון. בנוסף, שאילתא המבקשת את qtysold ברמת הארץ יכולה לקבל קליעה למטרה משאילתא המבקשת את qtysold ברמת הארץ, אזור.

פסוקית ORDER BY חייבת להיות מורכבת מעמודות ברשימת הבחירה

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

אבחון התנהגות הקליעה למטמון

כדי להעריך טוב יותר את התנהגות הקליעה למטמון, הגדר את משתנה מושב העבודה ENABLE_CACHE_DIAGNOSTICS ל-4, כרפי שמוצג בדוגמה הבאה:

ENABLE_CACHE_DIAGNOSTICS=4

הבטחת תוצאות מטמון נכונות בזמן שימוש באבטחת מסד נתונים ברמת השורה

כאשר משתמשים באסטרטגיית אבטחת מסד נתונים ברמת השורה, כמו Virtual Private Database (VPD), תוצאות הנתונים המוחזרות תלויות בהרשאות המשתמש.

מסיבה זו, על Oracle Analytics Cloud לדעת אם מקור נתונים משתמש באבטחת מסד נתונים ברמת השורה ואיזה משתנים רלוונטיים לאבטחה.

כדי להבטיח שקליעות למטמון מתרחשות רק ברשומות מטמון שכוללות ומתאימות לכל המשתנים הרגישים מבחינת אבטחה, עליך להגדיר נכון את אובייקט מסד הנתונים והאובייקטים של משתני מושב העבודה ב-Model Administration Tool, בדרך הבאה:

  • אובייקט מסד נתונים. בשכבה הפיזית, בכרטיסייה 'כללי' של תיבת הדו-שיח 'מסד נתונים', בחר מסד נתונים פרטי וירטואלי כדי לציין שמקור הנתונים משתמש באבטחת מסד נתונים ברמת השורה.

    אם אתה משתמש באבטחת מסד נתונים ברמת השורה עם כתיבה משותפת למטמון, אתה חייב לבחור באפשרות זו כדי למנוע שיתוף רשומות מטמון שהמשתנים הרגישים לאבטחה שלהן לא תואמות.

  • אובייקט של משתנה מושב עבודה. למשתנים הקשורים לאבטחה, בתיבת הדו-שיח 'משתנה מושב עבודה', בחר רגיש לאבטחה כדי לזהות אותם כרגישים לאבטחה בזמן שימוש באסטרטגיית אבטחה ברמת השורה. אפשרות זו מבטיחה שרשומות מטמון מסומנות עם המשתנים הרגישים לאבטחה, מה שמאפשר התאמת משתנים רגישים לאבטחה בכל השאילתות הנכנסות.

הרצת ערכת שאילתות כדי לאכלס את המטמון

למירוב קליעות פוטנציאליות למטמון, אסטרטגיה אחת היא להריץ ערכה של שאילתות לצורך אכלוס המטמון.

להלן מספר המלצות לגבי סוגי השאילתות בהן יש להשתמש בזמן יצירת ערכה של שאילתות לצורך הגדרת נתונים מראש במטמון.

  • שאילתות בנויות מראש שכיחות. שאילתות המורצות לעתים קרובות, ובמיוחד כאלה שעיבודן יקר, הן שאילתות מצוינות להגדרה מראש במטמון. שאילתות שתוצאותיהן משובצות בלוחות מידע הן דוגמאות טובות של שאילתות שכיחות.

  • רשימות SELECT ללא ביטויים. סילוק ביטויים מעמודות של רשימות SELECT מגביר את הסיכוי לקליעות למטמון. עמודה במטמון עם ביטוי יכולה לענות רק לשאילתא חדשה עם אותו ביטוי, ואילו עמודה במטמון ללא ביטויים יכולה לענות לבקשה לעמודה זו עם ביטוי כלשהו. לדוגמה, בקשה במטמון כמו:

    SELECT כמות, הכנסה...
    

    יכולה לענות לשאילתא חדשה כמו:

    SELECT כמות/הכנסה... 
    

    אך לא ההיפך.

  • אין פסוקית WHERE. אם בתוצאה במטמון אין פסוקית WHERE, אפשר להשתמש בה כדי לענות לשאילתות המקיימות את כללי הקליעה למטמון בשביל רשימת הבחירה עם כל פסוקית WHERE שכוללת עמודות ברשימת התחזית.

בדרך כלל, השאילתות הטובות ביותר להגדרה מראש במטמון הן שאילתות שצורכות משאבי עיבוד רבים של מסד הנתונים ושסביר שיוגשו שוב. הקפד לא להגדיר מראש במטמון שאילתות פשוטות שמחזירות שורות רבות. שאילתות אלה (לדוגמה, SELECT * FROM PRODUCTS, שבהן PRODUCTS ממפה ישירות לטבלה יחידה של מסד הנתונים) דורשות מאט מאוד עיבוד של מסד הנתונים. ההוצאה עליהן היא תקורה של הרשת והדיסק, גורמים שכתיבה במטמון לא מקלה עליהם.

כאשר Oracle Analytics Cloud מרענן משתני מודל סמנטי, הוא בודק מודלים עסקיים כדי לקבוע אם הם מפנים למשתני מודל סמנטי אלה. אם כן, Oracle Analytics Cloud מסלק מהמטמון מודלים עסקיים אלה. ראה אופן ההשפעה של שינויים במודל הסמנטי על מטמון השאילתות.

שימוש בסוכנים להגדרת נתונים מראש במטמון השאילתות

אתה יכול להגדיר את התצורה של סוכנים להגדרת נתונים מראש במטמון השאילתות של Oracle Analytics Cloud.

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

  1. ב-Oracle Analytics Cloud, פתח את דף הבית הקלאסי ובחר סוכן (הפרק יצירה).
  2. בכרטיסייה כללי בחר המקבל בשביל האפשרות הרץ בתור option. הגדרת נתונים מראש מותאמת אישית במטמון משתמשת בנראות הנתונים של כל מקבל כדי להתאים את תוכן המסירה של סוכנים לכל מקבל.
  3. בכרטיסייה תזמון, ציין מתי אתה רוצה שתבוצע הגדרת הנתונים מראש במטמון.
  4. אופציונלי : בחר תנאי וצור או בחר בקשה מותנית. למשל, ייתכן שיש לך מודל עסקי הקובע מתי תהליך ETL (שליפה, טרנספורמציה וטעינת נתונים) מסתיים. אתה יכול להשתמש בדוח המבוסס על מודל עסקי זה בתור טריגר מותנה להתחלת הגדרת הנתונים מראש במטמון.
  5. בכרטיסייה תוכן מסירה, בחר בקשה פרטנית או דף שלם של לוח מידע שלגביו אתה רוצה להגדיר מראש נתונים במטמון. בחירה בדף של לוח מידע יכולה לחסוך זמן.
  6. בכרטיסייה מקבלים, בחר משתמשים פרטניים או קבוצות בתור מקבלים.
  7. בכרטיסייה יעדים, נקה את כל יעדי המשתמשים ובחר Oracle Analytics Server Cache.
  8. שמור את הסוכן על ידי לחיצה על הלחצן שמור בפינה השמאלית העליונה.

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

הערה :

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

השתמש ב-Model Administration Tool כדי לסלק באופן אוטומטי טבלאות ייחודיות מהמטמון

הסילוק מוחק רשומות ממטמון השאילתות ושומר על רעננות התוכן. אתה יכול לסלק באופן אוטומטי רשומות מטמון של טבלאות ספציפיות על ידי הגדרת השדה זמן התמדה במטמון לכל טבלה ב-Model Administration Tool.

הערה :

אם אתה משתמש בבונה מודלים סמנטיים, ראה מהם המאפיינים הכלליים של טבלה פיזית?

הדבר שימושי למקורות נתונים המעודכנים לעתים קרובות. לדוגמה, אם יש לך טבלה שמאחסנת נתונים על עדכוני שוק ההון ומעודכנת כל דקה, אתה יכול להשתמש בהגדרה זמן התמדה של המטמון כדי לסלק את הרשומות לטבלה זו כל 59 שניות. ראה מטמון ותזמון התמדת מטמון לטבלאות פיזיות ספציפיות.