פתרון בעיות במנוע מבוסס-עמודות

בדף הזה מפורטים תיקונים מומלצים ומידע על בעיות נפוצות ושאלות לגבי מנוע מבוסס-עמודות של AlloyDB ל-PostgreSQL.

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

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

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

התיקון המומלץ: כדי לוודא שכל העמודות שאליהן יש הפניה נמצאות במנוע העמודות, פועלים לפי השלבים הבאים:

  1. בודקים את סוגי הנתונים הנתמכים.

    מוודאים ש-AlloyDB תומך בכל סוגי הנתונים של העמודות שרוצים להשתמש בהן עם מנוע מבוסס-עמודות. למידע נוסף, ראו סוגי נתונים נתמכים. אם AlloyDB לא תומך בסוג נתונים קריטי, אפשר לפנות אל תמיכת Google Cloud.

  2. בודקים את האופרטורים הנתמכים.

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

  3. מריצים את הפקודה EXPLAIN COLUMNAR_ENGINE.

    כדי לזהות ולפתור בעיות שמונעות משאילתות ספציפיות להשתמש במנוע מבוסס-עמודות, מריצים את הפקודה הבאה של EXPLAIN COLUMNAR_ENGINE:

    EXPLAIN (COLUMNAR_ENGINE, ANALYZE) SELECT column1, column2 FROM my_table WHERE column3 > 100;
    

אי אפשר להוסיף או להסיר טבלאות במנוע מבוסס-עמודות

תיאור: רוצים להוסיף או להסיר טבלאות במנוע מבוסס-עמודות.

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

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

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

התיקון המומלץ: כדי להשיג ביצועים אופטימליים, כדאי להשתמש בתכונת ההמלצות ב-AlloyDB כדי לזהות את הטבלאות והעמודות האופטימליות לאכלוס מנוע מבוסס-עמודות.

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

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