בהתאם לעומס העבודה, אתם יכולים להוסיף עמודות באופן ידני למאגר העמודות, או להסיר ממנו חלק מהעמודות של טבלה או של תצוגה חומרית, או את כולן. הערכת השאילתות מתבצעת באופן אוטומטי באמצעות הנתונים העמודתיים המאוחסנים כדי לענות על השאילתות.
כשבוחרים אילו טבלאות, תצוגות חומריות ועמודות להוסיף למאגר העמודות, צריך לקחת בחשבון גם את הגודל של מאגר העמודות וגם את הצורה של עומס העבודה. מומלץ לבחור טבלאות גדולות או תצוגות שנסרקות לעיתים קרובות. בטבלאות או בתצוגות האלה, צריך לזהות אינדקסים גדולים לא ייחודיים שמשמשים את עומס העבודה של OLAP. אפשר להוסיף את העמודות של האינדקסים האלה למאגר העמודות, ואולי להסיר את האינדקסים. כך אפשר לבטל את עלות הביצועים שמשויכת לתחזוקה שלהם במופע הראשי.
אפשר להשתמש באחת מהשיטות הבאות כדי לנהל את התוכן של מאגר העמודות של מנוע העמודות:
- ניהול תוכן של מאגר עמודות באמצעות עדכון של דגלים במסד הנתונים
- ניהול תוכן של מאגר עמודות באמצעות פונקציות SQL
במאמר אילו נתונים אפשר להוסיף למאגר העמודות מוסבר אילו סוגי נתונים ומקורות נתונים אפשר להוסיף למאגר העמודות כשמוסיפים טבלאות, עמודות ותצוגות חומריות.
עדכון תוכן של מאגר עמודות באמצעות עדכון של דגלים במסד הנתונים
אפשר לנהל את התוכן של מאגר העמודות באופן ידני על ידי עדכון של סימן מסד הנתונים google_columnar_engine.relations. לסימן יש ערך יחיד שמציין את כל מקורות הנתונים של מאגר העמודות. במהלך ההפעלה מחדש, העמודות שצוינו בסימן הזה מאוכלסות אוטומטית במאגר העמודות.
אפשר להשתמש בדגל הזה יחד עם הפיכה אוטומטית של נתונים לעמודות. אם יש זיכרון זמין במנוע מבוסס-עמודות אחרי אכלוס העמודות שצוינו באמצעות הדגל google_columnar_engine.relations, תהליך העמודות האוטומטי מוסיף עוד עמודות למאגר העמודות, לפי הצורך.
הוספת עמודות באמצעות דגלים
כדי להוסיף עמודות למאגר העמודות, מגדירים את הדגל google_columnar_engine.relations של מופע. מגדירים את הערך שלו כרשימת פריטים מופרדת בפסיקים, כשכל פריט מציין רשימה של עמודות שרוצים לכלול מטבלה ספציפית, בפורמט הבא:
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)
מחליפים את מה שכתוב בשדות הבאים:
DATABASE_NAME: מסד הנתונים שמכיל את העמודות שרוצים להוסיף למאגר העמודות.
SCHEMA_NAME: הסכימה שמזהה את הטבלאות או את התצוגות החומריות שרוצים להוסיף למאגר העמודות, לדוגמה
public.TABLE_NAME: הטבלה או התצוגה החומרית שמכילות את העמודות שרוצים להוסיף למאגר העמודות.
COLUMN_LIST: רשימה מופרדת בפסיקים של העמודות שרוצים להוסיף למאגר העמודות.
כדי להוסיף את כל העמודות של טבלה או תצוגה חומרית, משמיטים את רשימת העמודות:
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
ALTER SYSTEM SET google_columnar_engine.relations='DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_1,COLUMN_2)';הסרת עמודות באמצעות דגלים
כדי להסיר עמודות ממאגר העמודות, מגדירים ערך חדש לדגל google_columnar_engine.relations שמתואר במאמר הוספת עמודות באמצעות דגלים, ומשמיטים את העמודות שרוצים להסיר.
כדי להסיר את כל העמודות ממאגר העמודות, צריך לבטל את ההגדרה של הדגל google_columnar_engine.relations במופע.
מידע נוסף על הגדרת דגלים של מסד נתונים במופע זמין במאמר הגדרת פרמטרים של מסד נתונים ב-AlloyDB Omni.
ניהול תוכן של מאגר עמודות באמצעות פונקציות SQL
אפשר לנהל את התוכן של מאגר העמודות באופן ידני באמצעות פונקציות SQL.
הוספת עמודות באמצעות פונקציות SQL
מריצים את פונקציית ה-SQL google_columnar_engine_add כדי להוסיף עמודות למאגר העמודות.
השיטה הזו מוסיפה את העמודות שצוינו למאגר העמודות ומנהלת את העמודות רק בצומת המקושר. העמודות החדשות לא נשמרות בחנות אחרי הפעלה מחדש של המופע.
השיטה הזו לא משנה את דגל מסד הנתונים google_columnar_engine.relations. הפיכה אוטומטית של נתונים לעמודות לא מתייחסת לעמודות שנוספו באמצעות פונקציית ה-SQL הזו.
לקוח psql
SELECT google_columnar_engine_add(
relation => 'TABLE_NAME',
columns => 'COLUMN_LIST'
);
-
מחליפים את מה שכתוב בשדות הבאים:
- 'TABLE_NAME': מחרוזת שמכילה את שם הטבלה או התצוגה החומרית. אם הטבלה או התצוגה נמצאות בסכימה שאינה
public, מציינים את שם הסכימה, נקודה ואת שם הטבלה או התצוגה. לדוגמה:'myschema.mytable'. - 'COLUMN_LIST': מחרוזת שמכילה רשימה של שמות העמודות שרוצים להוסיף, מופרדים בפסיקים, תוך הבחנה בין אותיות רישיות לאותיות קטנות. אם רוצים להוסיף את כל העמודות בטבלה או בתצוגה החומרית למאגר העמודות, משמיטים את הפרמטר הזה.
הסרת עמודות באמצעות פונקציות SQL
מריצים את פונקציית ה-SQL google_columnar_engine_drop באופן הבא:
לקוח psql
SELECT google_columnar_engine_drop(
relation => 'TABLE_NAME',
columns => 'COLUMN_LIST'
);
- 'TABLE_NAME': מחרוזת שמכילה את שם הטבלה או התצוגה החומרית. אם הטבלה או התצוגה נמצאות בסכימה שאינה
public, מציינים את שם הסכימה, נקודה ואת שם הטבלה או התצוגה. לדוגמה:'myschema.mytable'. - 'COLUMN_LIST': מחרוזת שמכילה רשימה של שמות העמודות שרוצים להוסיף, מופרדים בפסיקים, תוך הבחנה בין אותיות רישיות לאותיות קטנות. אם רוצים להוסיף את כל העמודות בטבלה או בתצוגה החומרית למאגר העמודות, משמיטים את הפרמטר הזה.
אפשר להשתמש בפונקציה google_columnar_engine_drop כדי להסיר עמודות שנוספו על ידי עריכת סימון מסד הנתונים google_columnar_engine.relations. עם זאת, כשעושים זאת, העמודות האלה מתווספות בחזרה למאגר העמודות כשמפעילים מחדש את המופע.