סקירה כללית של מנוע מבוסס-עמודות ב-AlloyDB Omni זמינה במאמר סקירה כללית של מנוע מבוסס-עמודות ב-AlloyDB Omni.
הפעלת מנוע מבוסס-עמודות
כדי להשתמש במנוע מבוסס-עמודות במכונה, מגדירים את הדגל google_columnar_engine.enabled של המכונה לערך on.
השלבים שבהם משתמשים כדי להגדיר את הדגל הזה במופע תלויים בשאלה אם מריצים את AlloyDB Omni בקונטיינר או באשכול Kubernetes.
שרת יחיד
כדי להגדיר את google_columnar_engine.enabled ל-on, פועלים לפי השלבים הבאים:
מריצים את הפקודה
ALTER SYSTEMPostgreSQL:ALTER SYSTEM SET google_columnar_engine.enabled = 'on'אם רוצים לשנות את ההגדרות של מנוע העמודות, צריך לפעול לפי ההוראות בקטע הבא לפני שמפעילים מחדש את שרת מסד הנתונים. אחרת, מבצעים את השלב הבא כדי להפעיל מחדש את שרת מסד הנתונים.
כדי שהשינוי בפרמטרים של ההגדרה ייכנס לתוקף, צריך להפעיל מחדש את הקונטיינר הפועל עם AlloyDB Omni.
Docker
sudo docker restart CONTAINER_NAMEPodman
sudo podman restart CONTAINER_NAME
Kubernetes
כדי להגדיר את הדגל google_columnar_engine.enabled לערך on, משנים את מניפסט אשכול מסד הנתונים כדי להוסיף את המאפיין parameters לקטע primarySpec:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: CLUSTER_NAME
spec:
databaseVersion: "16.3.0"
primarySpec:
parameters:
google_columnar_engine.enabled: "on"
מחליפים את CLUSTER_NAME בשם של אשכול מסד הנתונים. זהו אותו שם של אשכול מסדי הנתונים שהצהרתם עליו כשיצרתם אותו.
הגדרת הגודל של מאגר העמודות
כשהמנוע מבוסס-העמודות מופעל במכונה, מערכת AlloyDB Omni מקצה חלק מהזיכרון של המכונה לאחסון הנתונים מבוססי-העמודות שלו. הקצאת זיכרון RAM מהיר למאגר העמודות מוודאת של-AlloyDB Omni תהיה גישה לנתונים בעמודות במהירות המרבית.
הזיכרון והמטמון של האחסון מייצגים יחד את הקיבולת הכוללת של מנוע מבוסס-עמודות.
הגדרת הזיכרון
אפשר להגדיר את ההקצאה לגודל קבוע באמצעות הדגל google_columnar_engine.memory_size_in_mb.
השלבים להגדרת הזיכרון של מאגר העמודות ב-AlloyDB Omni משתנים בהתאם לאופן שבו אתם מריצים את AlloyDB Omni – בקונטיינר או באשכול Kubernetes.
שרת יחיד
כדי להגדיר את הדגל google_columnar_engine.memory_size_in_mb במופע:
מגדירים את הזיכרון על ידי הפעלת הפקודה
ALTER SYSTEMPostgreSQL:ALTER SYSTEM SET google_columnar_engine.memory_size_in_mb = COLUMN_MEMORY_SIZE;מחליפים את
COLUMN_MEMORY_SIZEבגודל החדש של אחסון העמודה, במגה-בייט – לדוגמה,256.כדי שהשינוי בפרמטרים של ההגדרה ייכנס לתוקף, צריך להפעיל מחדש את הקונטיינר הפועל עם AlloyDB Omni.
Docker
sudo docker restart CONTAINER_NAMEPodman
sudo podman restart CONTAINER_NAME
Kubernetes
כדי להגדיר את הדגל google_columnar_engine.memory_size_in_mb, משנים את מניפסט אשכול מסד הנתונים כדי להוסיף את המאפיין parameters לקטע primarySpec:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: CLUSTER_NAME
spec:
databaseVersion: "16.3.0"
primarySpec:
parameters:
google_columnar_engine.memory_size_in_mb: "COLUMN_MEMORY_SIZE"
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של אשכול מסד הנתונים. זהו אותו שם של אשכול מסדי הנתונים שהצהרתם עליו כשיצרתם אותו. -
COLUMN_MEMORY_SIZE: הגודל החדש של האחסון בעמודה, במגה-בייט – לדוגמה,256.
הגדרת מטמון אחסון
לפני שמגדירים את מטמון האחסון, צריך להפעיל את מטמון הדיסק של AlloyDB Omni.
השלבים להפעלת מטמון אחסון ב-AlloyDB Omni משתנים בהתאם לאופן שבו מריצים את AlloyDB Omni – בקונטיינר או באשכול Kubernetes.
שרת יחיד
מגדירים את מטמון האחסון באופן הבא:
ALTER SYSTEM SET google_columnar_engine.storage_cache_size = STORAGE_CACHE_SIZE;מחליפים את
STORAGE_CACHE_SIZEבגודל של מטמון האחסון שרוצים, במגה-בייט. כברירת מחדל, מוקצים 5% ממטמון הדיסק למנוע מבוסס-עמודות. הערך המקסימלי המותר לסימון הזה הוא 50% מהזיכרון הכולל של מטמון הדיסק או 1,000 * google_columnar_engine.memory_size_in_mb, הנמוך מביניהם.כדי שהשינוי בפרמטרים של ההגדרה ייכנס לתוקף, צריך להפעיל מחדש את הקונטיינר הפועל עם AlloyDB Omni.
Docker
sudo docker restart CONTAINER_NAMEPodman
sudo podman restart CONTAINER_NAME
Kubernetes
כדי להפעיל את מטמון האחסון במסד הנתונים, משנים את מניפסט אשכול מסד הנתונים כדי להוסיף את המאפיין columnarSpillToDisk לקטע features בקטע primarySpec:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: CLUSTER_NAME
spec:
databaseVersion: "16.3.0"
primarySpec:
features:
columnarSpillToDisk:
cacheSize: STORAGE_CACHE_SIZE
ultraFastCache:
cacheSize: ULTRAFAST_CACHE_SIZE
genericVolume:
storageClass: "STORAGE_CLASS_NAME"
...
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של אשכול מסד הנתונים. זהו אותו שם של אשכול מסדי הנתונים שהצהרתם עליו כשיצרתם אותו. -
STORAGE_CACHE_SIZE: גודל מטמון האחסון העמודתי, לדוגמה5Gi. אם לא מציינים ערך בשדה הזה, מוקצים למנוע העמודות 5% ממטמון הדיסק כברירת מחדל. -
ULTRAFAST_CACHE_SIZE: גודל המטמון, לדוגמה100Gi. הערך חייב להיות גדול מ-shared_buffers. השדה הזה הוא אופציונלי. אם לא מציינים את הערך של השדה הזה, מערכת AlloyDB Omni משתמשת בכל השטח שנותר בדיסק. זה רלוונטי גם ל-AlloyDB Omni בקונטיינר וגם ל-AlloyDB Omni באשכול Kubernetes. מידע נוסף על יחידות מידה זמין במאמר יחידות משאבי זיכרון. -
STORAGE_CLASS_NAME: השם של סוג האחסון של נפח המטמון המהיר במיוחד – לדוגמה,local-storage.
הפעלת הצטרפות וקטורית
למנוע מבוסס-עמודות יש תכונה של צירוף וקטורי שיכולה לשפר את הביצועים של צירופים על ידי החלת עיבוד וקטורי על שאילתות שעומדות בדרישות.
אחרי שמפעילים את ההצטרפות הווקטורית, מתכנן השאילתות של AlloyDB יכול להחיל את אופרטור ההצטרפות הווקטורית במקום אופרטור ההצטרפות הרגיל של PostgreSQL. המתכנן מקבל את ההחלטה הזו על ידי השוואה בין העלות של ביצוע השאילתה באמצעות כל אחת מהשיטות.
כדי להפעיל את התכונה 'צירוף וקטורי' במופע, מגדירים את הדגל google_columnar_engine.enable_vectorized_join של המופע לערך on.
כדי להגדיר את הדגל הזה במופע, מריצים את הפקודה ALTER SYSTEM של PostgreSQL:
ALTER SYSTEM SET google_columnar_engine.enable_vectorized_join = 'on';
כברירת מחדל, AlloyDB Omni מקצה שרשור אחד לתכונה של צירוף וקטורי. כדי להגדיל את מספר השרשורים שזמינים לתכונה הזו, צריך להגדיר את הדגל google_columnar_engine.vectorized_join_threads לערך גדול יותר. הערך המקסימלי הוא cpu_count * 2.
רענון ידני של מנוע מבוסס-עמודות
כברירת מחדל, כשהמנוע מבוסס-עמודות מופעל, הוא מרענן את מאגר העמודות ברקע.
כדי לרענן את מנוע העמודות באופן ידני, מריצים את שאילתת ה-SQL הבאה:
SELECT google_columnar_engine_refresh(relation =>'TABLE_NAME');
מחליפים את TABLE_NAME בשם הטבלה או התצוגה החומרית שרוצים לרענן באופן ידני.
השבתת מנוע מבוסס-עמודות
כדי להשבית את מנוע Columbar במכונה, מגדירים את הדגל google_columnar_engine.enabled לערך off.
השלבים שבהם משתמשים כדי להגדיר את הדגל הזה במכונה תלויים בשאלה אם מריצים את AlloyDB Omni בקונטיינר בשרת יחיד או באשכול Kubernetes.
שרת יחיד
כדי להגדיר את google_columnar_engine.enabled ל-off, פועלים לפי השלבים הבאים:
- מריצים את הפקודה
ALTER SYSTEMPostgreSQL:
ALTER SYSTEM SET google_columnar_engine.enabled = 'off'
- כדי שהשינוי בפרמטרים של ההגדרה ייכנס לתוקף, צריך להפעיל מחדש את הקונטיינר הפועל עם AlloyDB Omni.
Docker
כדי להפעיל מחדש קונטיינר של AlloyDB Omni, מריצים את הפקודה docker container restart:
sudo docker restart CONTAINER_NAMEמחליפים את CONTAINER_NAME בשם שהקציתם לקונטיינר של AlloyDB Omni כשהתקנתם אותו.
Podman
כדי להפעיל מחדש קונטיינר של AlloyDB Omni, מריצים את הפקודה podman container start:
sudo podman restart CONTAINER_NAMEמחליפים את CONTAINER_NAME בשם שהקציתם לקונטיינר של AlloyDB Omni כשהתקנתם אותו.
Kubernetes
כדי להגדיר את הדגל google_columnar_engine.enabled לערך off, משנים את מניפסט אשכול מסד הנתונים כדי להוסיף את המאפיין parameters לקטע primarySpec:
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: CLUSTER_NAME
spec:
databaseVersion: "16.3.0"
primarySpec:
parameters:
google_columnar_engine.enabled: "off"
מחליפים את CLUSTER_NAME בשם של אשכול מסד הנתונים. זהו אותו שם של אשכול מסדי הנתונים שהצהרתם עליו כשיצרתם אותו.
המאמרים הבאים
עוברים על המדריך איך מאיצים שאילתות של ניתוח נתונים באמצעות מנוע מבוסס-עמודות ב-AlloyDB Omni ב-Google CodeLab.