בדף הזה מוסבר איך להפעיל או להשבית את מנוע העמודות במכונת AlloyDB ל-PostgreSQL. בנוסף, מוסבר איך להגדיר גודל התחלתי מתאים למאגר העמודות, וגם הגדרות של זיכרון ומטמון אחסון לביצועים אופטימליים.
כדי להשתמש במנוע מבוסס-עמודות כשמשתמשים ב-AlloyDB Omni, אפשר לעיין במאמר הפעלת מנוע העמודות ב-AlloyDB Omni.
כל אחת מהפעולות האלה כוללת שינוי של ערך דגל מסד נתונים באחד ממופעי AlloyDB. למידע נוסף על הגדרת דגלים של מסד נתונים, אפשר לעיין במאמר הגדרת דגלים של מסד נתונים במופע.
סקירה כללית של מנוע מבוסס-העמודות של AlloyDB מופיעה במאמר בנושא מנוע העמודות של AlloyDB.
הפעלת מנוע מבוסס-עמודות
כדי להשתמש במנוע מבוסס-עמודות במכונה, מגדירים את הדגל google_columnar_engine.enabled של המכונה לערך on.
מידע נוסף על הגדרת דגלים של מסד נתונים ב-AlloyDB זמין במאמר הגדרת דגלים של מסד נתונים במופע.
הגדרת הגודל של מאגר העמודות
כשהמנוע מבוסס-העמודות מופעל במופע, מערכת AlloyDB מקצה חלק מהזיכרון של המופע לאחסון הנתונים העמודתיים שלו. הקצאת זיכרון RAM מהיר במיוחד למאגר העמודות מבטיחה ש-AlloyDB יוכל לגשת לנתונים העמודתיים במהירות האפשרית.
הזיכרון והמטמון של האחסון מייצגים יחד את הקיבולת הכוללת של מנוע מבוסס-עמודות.
הגדרת הזיכרון למנוע מבוסס-עמודות
אם מאגר העמודות גדל מעבר לחלק שהוקצה בזיכרון של המופע, מערכת AlloyDB משתמשת באופן אוטומטי בשכבת מטמון בסיסית של המופע כדי לאחסן את נתוני העמודות הנוספים.ב-AlloyDB, אפשר לטעון את היחסים, התצוגות המהותיות והאינדקסים של ScaNN למנוע מבוסס-עמודות כדי לשפר את ביצועי השאילתות.
כברירת מחדל, מערכת AlloyDB מקצה 30% מהזיכרון של המופע לאחסון העמודות, ומשנה אוטומטית את ההקצאה הכוללת אם משנים את גודל המופע. אפשר לשנות את הזיכרון של המופע עד למקסימום המומלץ של 50%, למרות שמותר להגדיר עד 70%. כדי למצוא את גודל הזיכרון המומלץ של מנוע מבוסס-עמודות למופע שלכם, אפשר לעיין במאמר המלצה על גודל הזיכרון של מאגר העמודות.
אפשר גם להגדיר את ההקצאה לגודל קבוע וספציפי באמצעות הדגל google_columnar_engine.memory_size_in_mb.
כדי להחזיר את הקצאה של AlloyDB לברירת המחדל, מסירים את הדגל מהאינסטנס.
מידע נוסף על הגדרה או מחיקה של דגלים זמין במאמר הגדרת דגלים במסד נתונים של מופע.
הגדרת הטעינה של אינדקסים של ScaNN למנוע מבוסס-עמודות
מנוע מבוסס-עמודות מאיץ את חיפוש הווקטורים כשהאינדקסים של ScaNN מאוכלסים בו.
כדי להפעיל את מטמון האינדקס של העמודות, מגדירים את הדגל google_columnar_engine.enable_index_caching לערך on.
כדי להשבית את התכונה הזו, מגדירים את הדגל לערך off.
הגדרת מטמון אחסון למנוע מבוסס-עמודות
צריך לקבוע את הגודל של google_columnar_engine.storage_cache_size ביחס להגדרה של google_columnar_engine.memory_size_in_mb, כי הזיכרון של מנוע מבוסס-עמודות משמש למטא-נתונים בזיכרון של מטמון האחסון. יחס הגודל המומלץ הוא בערך פי 100 עד פי 1,000 מגודל הזיכרון. לדוגמה, אם google_columnar_engine.memory_size_in_mb הוא 1,024 (1GB), צריך להגדיר את google_columnar_engine.storage_cache_size בין 100GB ל-1,000GB.
מטמון האחסון של מנוע העמודות מוקצה בהתאם לרמת המכונה.
| רמת המכונה | גודל המטמון של מנוע עמודות שמוגדר כברירת מחדל | ||
|---|---|---|---|
| N2 | C4A | ||
| ראשי | מאגר רפליקות | מאגר ראשי או מאגר רפליקות | |
| 1 vCPU | לא רלוונטי | לא רלוונטי | 0 |
| 2 vCPU | 18.75 GB | 37.5 GB | לא רלוונטי |
| 4 vCPU | 18.75 GB | 37.5 GB | 18.75 GB |
| 8 vCPU | 18.75 GB | 37.5 GB | 37.75 GB |
| 16 vCPU | 37.5 GB | 37.5 GB | 75 GB |
| 32 vCPU | 75 GB | 75 GB | 112.5 GB |
| 48 vCPU | לא רלוונטי | לא רלוונטי | 187.5 GB |
| 64 vCPU | 150 GB | 150 GB | 262.5 GB |
| 72 vCPU | לא רלוונטי | לא רלוונטי | 300 GB |
| 96 vCPU | 300 GB | 300 GB | לא רלוונטי |
| 128 vCPU | 450 GB | 450 GB | לא רלוונטי |
הדגל google_columnar_engine.storage_cache_size מאפשר לכם לשנות את מטמון האחסון של מנוע מבוסס-עמודות, בהתאם למגבלות של ערכי המינימום והמקסימום שמפורטים בטבלה הבאה:
| רמת המכונה | גודל מטמון מינימלי של מנוע מבוסס-עמודות | גודל מקסימלי של מטמון מנוע מבוסס-עמודות | ||
|---|---|---|---|---|
| N2 | C4A | |||
| ראשי | מאגר רפליקות | מאגר ראשי או מאגר רפליקות | ||
| 1 vCPU | לא רלוונטי | לא רלוונטי | לא רלוונטי | 0 |
| 2 vCPU | 0 | 187.5 GB | 375 GB | לא רלוונטי |
| 4 vCPU | 0 | 187.5 GB | 375 GB | 187.5 GB |
| 8 vCPU | 0 | 187.5 GB | 375 GB | 375 GB |
| 16 vCPU | 0 | 375 GB | 375 GB | 750 GB |
| 32 vCPU | 0 | 750 GB | 750 GB | 1,125 GB |
| 48 vCPU | לא רלוונטי | לא רלוונטי | לא רלוונטי | 1,125 GB |
| 64 vCPU | 0 | 1,500 GB | 1,500 GB | 2,625 GB |
| 72 vCPU | לא רלוונטי | לא רלוונטי | לא רלוונטי | 3,000 GB |
| 96 vCPU | 0 | 3,000 GB | 3,000 GB | לא רלוונטי |
| 128 vCPU | 0 | 4,500 GB | 4,500 GB | לא רלוונטי |
מעקב אחר נתוני מטמון של אחסון במנוע מבוסס-עמודות
כדי להציג ולעקוב אחרי נתונים על מטמון האחסון של מנוע מבוסס-עמודות, אפשר להשתמש בפקודות הבאות:
| פקודה | תיאור |
|---|---|
SELECT google_columnar_engine_storage_cache_used(); |
מחזירה את הגודל של המטמון של מנוע מבוסס-עמודות שנמצא בשימוש. |
SELECT google_columnar_engine_storage_cache_available(); |
הפונקציה מחזירה את הגודל של מטמון האחסון של מנוע מבוסס-עמודות שלא נעשה בו שימוש. |
SHOW google_columnar_engine.storage_cache_size; |
הפונקציה מחזירה את הכמות הכוללת של גודל מטמון האחסון שהוגדר למנוע מבוסס-עמודות. |
הפעלה של הצטרפות וקטורית
למנוע מבוסס-עמודות יש תכונה של צירוף וקטורי שיכולה לשפר את הביצועים של צירופים על ידי החלת עיבוד וקטורי על שאילתות שעומדות בדרישות.
אחרי שמפעילים את ההצטרפות הווקטורית, מתכנן השאילתות של AlloyDB יכול להשתמש באופרטור ההצטרפות הווקטורית במקום באופרטור הרגיל של הצטרפות הגיבוב של PostgreSQL. כדי לקבל את ההחלטה הזו, הכלי לתכנון משווה בין העלויות של ביצוע השאילתה בכל אחת מהשיטות.
כדי להפעיל את התכונה 'צירוף וקטורי' במופע, מגדירים את התכונה הניסיונית google_columnar_engine.enable_vectorized_join של המופע לערך on.
כברירת מחדל, מערכת AlloyDB מקצה שרשור אחד לתכונה של הצטרפות וקטורית. כדי להגדיל את מספר השרשורים שזמינים לתכונה הזו, צריך להגדיר את הדגל google_columnar_engine.vectorized_join_threads לערך גבוה יותר.
רענון ידני של מנוע מבוסס-עמודות
כברירת מחדל, כשמפעילים את מנוע מבוסס-העמודות, הוא מוגדר לרענון אוטומטי של מאגר העמודות ברקע.
עבור עומסי עבודה עם שיעור גבוה של שינויים בנתונים, כמו פעולות תכופות של INSERT, UPDATE או DELETE, אפשר לרענן באופן ידני את מאגר העמודות אחרי השינויים האלה כדי שהאינדקס יישאר עדכני.
כדי לרענן את מנוע העמודות באופן ידני, מריצים את שאילתת ה-SQL הבאה:
SELECT google_columnar_engine_refresh('TABLE_NAME');
מחליפים את TABLE_NAME בשם הטבלה או התצוגה החומרית שרוצים לרענן באופן ידני.
השבתת מנוע מבוסס-עמודות
כדי להשבית את מנוע Columbar במכונה, מגדירים את הדגל google_columnar_engine.enabled לערך off.
אחרי שמגדירים את הדגל הזה, המכונה מופעלת מחדש באופן אוטומטי.
פתרון בעיות במנוע מבוסס-עמודות
אם העמודות לא מאוכלסות במנוע העמודות, יכול להיות שאחד מהמצבים הבאים מתקיים:
העמודות שרוצים להוסיף כוללות סוג נתונים שלא נתמך.
הדרישות של המנוע מבוסס-העמודות לא מתקיימות.
כדי לגלות את הסיבה לבעיה, אפשר לנסות את הפתרונות הבאים:
בודקים את יומני הביקורת של המופע.
מוודאים שהטבלאות או התצוגות החומריות בשאילתה נמצאות במנוע העמודות.
כדי לוודא שהמנוע מבוסס-עמודות נמצא בשימוש, משתמשים בהצהרה
EXPLAIN.