בדף הזה יש סקירה כללית על מנוע מבוסס-עמודות של Spanner ומוסבר איך להשתמש בו.
בדרך כלל, מסדי נתונים תפעוליים מחלצים, משנים וטוענים (ETL) נתונים למערכת OLAP לצורך ניתוח. המערכת הזו היא לרוב חלק ממחסן נתונים. עם Data Boost for Spanner, Spanner כבר מפריד בין מחשוב אנליטי, מה שמבטיח יציבות טרנזקציונלית.
מנוע מבוסס-עמודות הוא טכניקת אחסון שמערכות ניתוח נתונים משתמשות בה כדי להאיץ סריקות בהשוואה לסריקות מבוססות-אצווה. מנוע Spanner columnar מאפשר להריץ ניתוחים עם שיפור משמעותי בביצועים על נתוני התפעול העדכניים ביותר. מנוע מבוסס-עמודות של Spanner משפר את ביצועי הסריקה עד פי 200, ומבטל את הצורך ב-ETL תוך שמירה על מודל עקביות חזק.
בפורמט Ressi של Spanner נעשה שימוש בפריסה של עמודות לפי מאפייני חלוקה (PAX) לסריקות יעילות בתוך בלוק נתונים. עם זאת, בפורמט הזה כל העמודות של שורה מסוימת ממוקמות באותו בלוק, כדי לאפשר חיפושים מהירים של שורה אחת. בניגוד ל-Ressi, מנוע מבוסס-עמודות של Spanner מקצה רצפים של בלוקים לעמודה אחת. הגישה הזו יעילה יותר לסריקות רציפות, כי Spanner צריך לקרוא רק את העמודות שאליהן מתייחסת השאילתה.
Spanner יוצר את הייצוג העמודתי ברקע (כחלק מהדחיסות), וממזג אוטומטית את הייצוג עם העדכונים האחרונים בזמן השאילתה כדי לספק מודל עקביות חזק. שאילתות שלא יפיקו תועלת מאחסון בעמודות יכולות להמשיך להשתמש ב-PAX.
עומסי עבודה שיכולים להפיק תועלת משימוש במנוע עמודות כוללים את הדוגמאות הבאות:
- דוחות תפעוליים מאפשרים להפיק תובנות עסקיות עדכניות מהנתונים התפעוליים האחרונים.
- הנתונים שמוצגים במרכזי הבקרה ובניתוחים המותאמים אישית מגיעים מ-Served Analytics, עם השהיה אינטראקטיבית.
- ניתוח מאוחד משלב בצורה חלקה נתונים מ-Spanner וממקורות אחרים ב-BigQuery.
גיבויים של מופעי Spanner לא כוללים את הפורמט העמודתי.
שיטות מומלצות לשימוש במנוע עמודות
בקטע הזה מתוארות שיטות מומלצות לשימוש במנוע עמודות.
אופטימיזציה של סריקות גדולות
מנוע מבוסס-עמודות מבצע אופטימיזציה של שאילתות שסורקות כמויות גדולות של נתונים. בסריקות נתונים קטנות יותר או בשאילתות עם סעיפי LIMIT שמתקיימים במהירות, סריקות מבוססות-שורה עשויות להיות יעילות יותר.
עמודות חיוניות
אם משתמשים ב-SELECT *, Spanner קורא את כל העמודות מאחסון עמודתי. כדי למקסם את הביצועים, כדאי לציין רק את העמודות שצריך. לדוגמה, SELECT column1, column2 FROM ....
זיהוי צווארי בקבוק בביצועים
מנוע מבוסס-עמודות יעיל לעומסי עבודה שקשורים לסריקה. כדי לזהות עומס עבודה שמוגבל לסריקה, בודקים את תוכנית השאילתה כדי לראות אם יש רמת חביון גבוהה בצומת Table scan. אם השאילתה לא מוגבלת לסריקה, כדאי לתת עדיפות לאופטימיזציות אחרות. מנוע מבוסס-עמודות יכול לספק יתרונות בשלב מאוחר יותר אם האופטימיזציות שלכם הופכות את השאילתה למוגבלת לסריקה.
כיסוי אופטימלי של עמודות
אחרי הפעלת מנוע מבוסס-עמודות במסד נתונים שכבר מכיל נתונים, תהליך הדחיסה האוטומטי של Spanner ממיר את הנתונים לאחסון עמודות באופן אסינכרוני ברקע. כדי לראות את מידת התועלת של השאילתה, בודקים את אחוז הקריאה העמודתית בתוכנית השאילתה.
ניהול נתוני נטישה גבוהים
שיעורי כתיבה גבוהים מעדכונים או מהוספות אקראיות יכולים להשפיע על הביצועים של מנוע העמודות. עומסי עבודה של הוספה בלבד מושפעים באופן מינימלי משימוש במנוע עמודות. הדחיסה היא תהליך שמתבצע ברקע, ובדרך כלל הוא נמשך כמה ימים, אבל הוא יכול להסתיים מהר יותר אם גודל מסד הנתונים גדל באופן משמעותי. אפשרות אחרת היא לתכנן את הסכימה כך שתאפשר כתיבה רק בשיטת append ברמת הפיצול. מידע נוסף זמין במאמר בנושא חלוקה של נתונים מסודרים לפי חותמת זמן ב-Spanner.
בידוד של עומסי עבודה
יש שתי טכניקות שבהן אפשר להשתמש כדי לבודד שאילתות ניתוחיות מעסקאות:
- כדי להפנות קריאות לרפליקות לקריאה בלבד, משתמשים בקריאות מופנות.
- להשתמש בData Boost לשאילתות מאוחדות.
תמחור
החיוב על מנוע מבוסס-עמודות של Spanner מבוסס על השימוש בנפח האחסון. אחרי שמפעילים את מנוע מבוסס-העמודות של Spanner, ו-Spanner מסיים את דחיסת הנתונים, נפח האחסון הנדרש גדל וכולל את הייצוג החדש של העמודות. מנוע מבוסס-עמודות מספק מדדי אחסון שמאפשרים לעקוב אחרי ההשפעה על האחסון. מידע נוסף זמין במאמר מדדים של אחסון נתונים בפורמט עמודות.
התקורה של 8 בייט לתא לא משפיעה על מנוע מבוסס-עמודות של Spanner.
הגבלות על תצוגה מקדימה
- מנוע מבוסס-עמודות תומך רק בממשק GoogleSQL.
המאמרים הבאים
- איך מפעילים את מנוע העמודות
- איך מריצים שאילתות על נתונים בפורמט עמודות
- איך עוקבים אחרי מנוע מבוסס-עמודות