הגדרת מנוע מבוסס-עמודות

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

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

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

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

אם העמודות לא מאוכלסות במנוע העמודות, יכול להיות שאחד מהמצבים הבאים מתקיים:

  • העמודות שרוצים להוסיף כוללות סוג נתונים שלא נתמך.

  • אין עמידה בדרישות של המנוע מבוסס-העמודות.

כדי לגלות את הסיבה לבעיה, אפשר לנסות את הפתרונות הבאים:

  • בודקים את יומני הביקורת של המופע.

  • מוודאים שהטבלאות או התצוגות החומריות בשאילתה נמצאות במנוע העמודות.

  • כדי לבדוק את השימוש במנוע העמודות, משתמשים בהצהרה EXPLAIN.

המאמרים הבאים