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

בדף הזה מפורטים תיקונים מומלצים ומידע על בעיות נפוצות ושאלות בנוגע למנוע העמודות של 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 כדי לזהות את הטבלאות והעמודות האופטימליות לאכלוס מנוע מבוסס-עמודות.

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

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