מנוע מבוסס-עמודות ב-AlloyDB Omni מאיץ את העיבוד של שאילתות SQL של סריקות, איחודים וצבירות באמצעות הרכיבים הבאים:
מאגר עמודות שמכיל נתונים של טבלה ותצוגה חומרית עבור עמודות נבחרות, ומאורגן מחדש בפורמט של עמודות.
כלי לתכנון תוכנית לביצוע שאילתה ומנוע להרצת שאילתות שמבוססים על עמודות, שתומכים בשימוש במאגר העמודות בשאילתות.
אתם יכולים להשתמש במנוע מבוסס-העמודות במכונה הראשית, במכונה של מאגר קריאה או ברפליקה לקריאה בלבד, או בשתיהן. אתם יכולים גם להשתמש בארגון אוטומטי בעמודות כדי לנתח את עומס העבודה ולאכלס באופן אוטומטי את מאגר העמודות בעמודות שמספקות את שיפור הביצועים הטוב ביותר.
כדי להשתמש במנוע מבוסס-עמודות עם שאילתה ספציפית, כל העמודות שאליהן מתייחסת השאילתה, כמו אלה שמשמשות לצירופים ולסריקות, צריכות להיות במאגר העמודות.
כברירת מחדל, מנוע העמודות מוגדר לשימוש בזיכרון של המכונה בנפח 1GB. בהתאם לעומס העבודה, לשימוש בזיכרון ואם הגדרתם מכונה של מאגר קריאה או רפליקה לקריאה בלבד, אתם יכולים להקטין את הקצאת הזיכרון של המנוע מבוסס-העמודות במכונה הראשית ולהקצות יותר זיכרון למכונה של מאגר הקריאה או לרפליקה לקריאה בלבד.
במאמר הצגת השימוש בזיכרון של מאגר הנתונים מבוסס-העמודות מוסבר איך לצפות בשימוש בזיכרון של המנוע מבוסס-העמודות ולעקוב אחריו. כדי לשנות את גודל הזיכרון שמשמש את מאגר העמודות, אפשר לעיין במאמר בנושא הגדרת הגודל של מאגר העמודות. כדי למצוא את גודל הזיכרון המומלץ למנוע מבוסס-העמודות במכונה, קראו את המאמר המלצה על גודל הזיכרון של מאגר הנתונים בעמודות.
סוגי שאילתות שמתאימים למנוע מבוסס-העמודות
יש שאילתות מסוימות שיכולות להפיק תועלת מהמנוע מבוסס-העמודות. ברשימה הבאה מפורטות הפעולות ומבני השאילתות שלהן, שהכי מתאימים למנוע מבוסס-העמודות:
| פעולה | מבני השאילתות |
|---|---|
| סריקת טבלה | מסננים סלקטיביים, כמו סעיפי WHERE.מספר קטן של עמודות מטבלה גדולה יותר או מתצוגה מהותית. ביטויים כמו LIKE, SUBSTR או TRIM. |
| פונקציות צבירה | רק ביטויים כמו SUM, MIN, MAX, AVG ו-COUNT.בתחילת השאילתה של סריקה עמודתית. לא מקובצות או מקובצות לפי עמודות. |
ORDER BY |
רק אם האופרטור נמצא בתחילת השאילתה של סריקה עמודתית. |
SORT |
רק אם האופרטור נמצא בתחילת השאילתה של סריקה עמודית, והוא ממיין רק לפי עמודות הבסיס של הטבלה או התצוגה המהותית. |
LIMIT |
רק אם האופרטור נמצא בתחילת השאילתה של סריקה עמודית, ולפני אופרטורים מסוג SORT או GROUP BY. |
INNER HASH JOIN |
רק אם המפתחות שבהם נעשה שימוש הם עמודות ולא נעשה שימוש במגדירי הצטרפות. |
| שאילתות איחוד (join) סלקטיביות | רק אם הצירופים נמצאים בתחילת השאילתה של סריקה עמודית. |
במאמר אימות השימוש במנוע מבוסס-העמודות באמצעות EXPLAIN מוסבר אילו שאילתות פועלות הכי טוב עם המנוע מבוסס-העמודות, אם המנוע מבוסס-העמודות שימש בשאילתה ואיך הוא שימש.
איך משתמשים במנוע מבוסס-עמודות במופע של AlloyDB Omni
כדי להשתמש במנוע מבוסס-העמודות במופע של AlloyDB Omni, מבצעים את השלבים הבאים:
מפעילים את המנוע במופע.
הפעלת המנוע היא פעולה חד-פעמית, וצריך להפעיל מחדש את מסד הנתונים.
מוסיפים עמודות למאגר העמודות.
כדי להוסיף עמודות למאגר העמודות, משתמשים באחת מהשיטות הבאות:
שימוש בארגון אוטומטי בעמודות, שכוללת ניתוח של עומס העבודה והוספה אוטומטית של עמודות.
מוסיפים את העמודות באופן ידני על סמך הידע שלכם לגבי עומס העבודה במסדי הנתונים במופע.
אתם יכולים לעקוב אחרי מה שנמצא במאגר העמודות באמצעות התצוגה
g_columnar_relations, ואחרי שמוסיפים עמודות, אתם יכולים להשתמש בהצהרהEXPLAINכדי לאמת את השימוש במנוע מבוסס-העמודות בשאילתות SQL.
הוראות מפורטות לשימוש במנוע מבוסס-העמודות מופיעות במאמר הגדרת המנוע מבוסס-העמודות.
אילו נתונים אפשר להוסיף למאגר העמודות
יש מגבלות מסוימות על סוגי הנתונים ומקורות הנתונים שבהם אפשר להשתמש כשמוסיפים עמודות למאגר העמודות.
סוגי נתונים נתמכים
המנוע מבוסס-העמודות תומך רק בעמודות עם סוגי הנתונים המובְנים הבאים:
arraybigintbooleanbyteachardatedecimaldouble precisionenumfloat4float8integerjsonjsonbnumericrealserialshortsmallinttexttimestampuuidvarchar
המנוע מבוסס-העמודות מתעלם מכל ניסיון להוסיף באופן ידני עמודות עם סוגי נתונים לא נתמכים למאגר העמודות.
מקורות נתונים לא נתמכים
מנוע מבוסס-עמודות לא תומך בטבלאות או בתצוגות מהותיות עם המאפיינים הבאים כמקורות נתונים:
טבלאות מחולקות למחיצות (Partitions) שהן לא עלים
טבלאות זרות
טבלאות או תצוגות עם פחות מ-5,000 שורות
מגבלות של מנוע מבוסס-עמודות
- אם אתם מריצים שאילתת ניתוח נתונים בעמודה שיש לה אינדקס, יכול להיות שהאופטימיזציה של AlloyDB Omni תבחר להשתמש במאגר שורות.
- עמודות שנוספו באופן ידני למאגר העמודות לא יוסרו באופן אוטומטי. כדי להסיר בכוח עמודות שנוספו באופן ידני, משתמשים בפקודה
google_columnar_engine_dropבמופע. - יכול להיות שהוספה אוטומטית של עמודות תגדיל או תקטין באופן דינמי את מספר העמודות בהתאם לשימוש בשאילתה.
- לא כל סוגי הנתונים נתמכים במנוע מבוסס-עמודות. לרשימת סוגי הנתונים הנתמכים, ראו סוגי נתונים נתמכים.
עדכונים תכופים של שורות מבטלים את התוקף של נתונים בעמודות. כדי לאמת טבלה או תצוגה חומרית בחנות העמודות, אפשר להקטין את תדירות העדכון או לתזמן רענונים של מנוע העמודות בתדירות גבוהה יותר.
אפשר להשוות בין העמודות
invalid_block_countו-total_block_countב-g_columnar_relationsכדי לבדוק אם הטבלה או התצוגה מושפעות. אם יש שינויים תכופים או שינויים בנפח גבוה בטבלה או בתצוגה, הערך שלinvalid_block_countגבוה.