שמירה על עדכניות הנתונים במאגר העמודות בזיכרון

בחירה של גרסת המסמך:

בדף הזה מוסבר איך לשמור על עדכניות הנתונים בחנות העמודות של מנוע העמודות ב-AlloyDB Omni בקונטיינר.

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

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

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

שינוי סף הרענון של מנוע מבוסס-עמודות

עורכים את הערך של google_columnar_engine.refresh_threshold_percentage database flag כדי לשנות את סף הרענון של מנוע מבוסס-עמודות.

    ALTER SYSTEM SET google_columnar_engine.refresh_threshold_percentage=THRESHOLD;

THRESHOLD: ערך של מספר שלם בין 1 ל-100. הערך הזה מציין את אחוז בלוקי הנתונים בתוכן שצריכים להיות לא חוקיים כדי שהתוכן יסומן לרענון.

רענון ידני של נתוני טבלה במאגר העמודות

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

SELECT google_columnar_engine_refresh(TABLE_NAME);

TABLE_NAME: מחרוזת שמכילה את השם של הטבלה או התצוגה החומרית. אם הטבלה או התצוגה נמצאות בסכימה שונה מ-public, צריך לציין את שם הסכימה בפורמט SCHEMA_NAME.TABLE_NAME, לדוגמה myschema.mytable.