המנוע מבוסס-העמודות של 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גבוה.