סקירה כללית על Bigtable Data Boost
Data Boost הוא שירות מחשוב ללא שרת שנועד להריץ משימות קריאה עם תפוקה גבוהה בנתוני Bigtable, בלי להשפיע על הביצועים של האשכולות שמטפלים בתעבורת הנתונים של האפליקציה. הוא מאפשר לכם לשלוח משימות קריאה גדולות ושאילתות באמצעות מחשוב ללא שרתים, בזמן שהאפליקציה המרכזית שלכם ממשיכה להשתמש בצמתי אשכולות לצורך מחשוב. המק"טים של שרתים ושיעורי החיוב שלהם נפרדים מהמק"טים והשיעורים של צמתים שהוקצו. אי אפשר לשלוח בקשות כתיבה או מחיקה באמצעות Data Boost.
במאמר הזה נסביר על Data Boost, מתי כדאי להשתמש בו ואיך. לפני שקוראים את הדף הזה, חשוב להבין מהם מופעים, אשכולות וצמתים.
דרישות לגבי מהדורות
Data Boost זמין אם אתם משתמשים במהדורות Enterprise או Enterprise Plus. מהדורת Enterprise Plus מספקת את היכולות הנוספות הבאות:
- תמיכה בשאילתות SQL: שאילתת נתונים שהגישה אליהם מתבצעת באמצעות Data Boost
- גישה ל-HDD ולאחסון בשכבות: כדי לבצע ניתוח מקיף יותר, אפשר להרחיב את הגישה ל-Data Boost לכל הנתונים באשכול Bigtable, ולא רק לנתוני SSD
מידע נוסף זמין במאמר סקירה כללית על מהדורות.
למה כדאי להשתמש בו
Data Boost מתאים במיוחד לניתוח נתונים ולעומסי עבודה של עיבוד נתונים. בידוד הניתוח והעיבוד של התנועה באמצעות Data Boost מבטיח שלא תצטרכו לשנות את הקיבולת של אשכול או את מספר הצמתים כדי להתאים לעומסי עבודה של ניתוח נתונים. אתם יכולים להריץ את משימות הניתוח עם נפח נתונים גבוה באשכול יחיד באמצעות Data Boost, בזמן שתנועת האפליקציה המתמשכת מנותבת דרך צמתי האשכול.
אלה תרחישי שימוש אידיאליים ל-Data Boost:
- משימות מתוזמנות או מופעלות של ייצוא או של צינור ETL מ-Bigtable אל Cloud Storage לצורך העשרת נתונים, ניתוח, ארכיון, אימון מודל ML אופליין או הטמעה על ידי שותפי צד שלישי של הלקוחות
- ETL באמצעות כלי כמו Dataflow לתהליכי סריקה קצרים או קריאה באצווה שתומכים בצבירות במקום, בטרנספורמציות מבוססות-כללים ל-MDM או במשימות ML
- אפליקציות Spark שמשתמשות במחבר Bigtable Spark כדי לקרוא נתונים מ-Bigtable
- שאילתות אד-הוק ועבודות ניתוח מתוזמנות שמשתמשות בטבלאות חיצוניות של BigQuery כדי לקרוא נתונים של Bigtable.
- ניתוח נתונים היסטוריים שמאוחסנים בכונן HDD או באחסון מדורג (במהדורת Enterprise Plus בלבד) ושניגשים אליהם לעיתים רחוקות.
למה הוא לא מתאים
קריאות נקודתיות – Data Boost היא לא האפשרות הכי טובה לפעולות של קריאה נקודתית, שהן בקשות קריאה שנשלחות לשורות בודדות. הפעולות האלה כוללות קריאות של נקודות בחבילות. בגלל מבנה החיוב, הרבה קריאות של נקודות בשורה אחת יקרות משמעותית מסריקה ארוכה אחת.
קריאת נתונים מיד אחרי שהם נכתבו – כשקוראים נתונים באמצעות Data Boost, יכול להיות שלא תקראו את כל הנתונים שנכתבו ב-35 הדקות האחרונות. זה נכון במיוחד אם המכונה שלכם משתמשת בשכפול ואתם קוראים נתונים שנכתבו לאשכול באזור שונה מזה שאתם קוראים ממנו. מידע נוסף זמין במאמר בנושא אסימוני עקביות.
עומסי עבודה שרגישים לזמן האחזור – התכונה Data Boost מותאמת לתפוקה, ולכן זמן האחזור של הקריאה איטי יותר כשמשתמשים ב-Data Boost מאשר כשקוראים באמצעות אשכולות וצמתים. לכן, Data Boost לא מתאים לעומסי עבודה של שרתים שמריצים אפליקציות.
מידע נוסף על עומסי עבודה, תצורות ותכונות שלא תואמים ל-Data Boost זמין במאמר מגבלות.
פרופילים של אפליקציות Data Boost
כדי להשתמש ב-Data Boost, שולחים את בקשות הקריאה באמצעות פרופיל אפליקציה של Data Boost במקום פרופיל אפליקציה רגיל.
פרופילים רגילים של אפליקציות מאפשרים לכם לציין את מדיניות הניתוב ואת רמת העדיפות של בקשות שמשתמשות בפרופיל האפליקציה, וגם אם מותרות טרנזקציות של שורה אחת. תעבורת נתונים שנשלחת באמצעות פרופיל אפליקציה רגיל מנותבת לאשכול, והצמתים של האשכול מנתבים את תעבורת הנתונים לדיסק. מידע נוסף מופיע במאמר סקירה כללית על פרופילים רגילים של אפליקציות.
לעומת זאת, בפרופיל אפליקציה של Data Boost, מגדירים מדיניות ניתוב של אשכול יחיד לאחד מהאשכולות של המופע, והתנועה שמשתמשת בפרופיל האפליקציה הזה משתמשת בחישוב ללא שרתים במקום בצמתים של האשכול.
אפשר ליצור פרופיל חדש של אפליקציה עם Data Boost, או להמיר פרופיל אפליקציה רגיל לשימוש ב-Data Boost. מומלץ להשתמש בפרופיל אפליקציה נפרד לכל עומס עבודה או אפליקציה.
טוקנים של עקביות
נתונים שנכתבו או שוכפלו לאשכול היעד יותר מ-35 דקות לפני בקשת הקריאה, ניתנים לקריאה על ידי Data Boost.
כדי לוודא ש-Data Boost יכול לקרוא את הנתונים ממשימת כתיבה ספציפית או מפרק זמן מסוים לפני שמתחילים להשתמש ב-Data Boost, אפשר ליצור אסימון עקביות ולהשתמש בו. דוגמה לתהליך עבודה:
- כותבים נתונים לטבלה.
- יוצרים טוקן עקביות.
- שולחים את האסימון במצב
DataBoostReadLocalWritesכדי לקבוע מתי אפשר לקרוא את הפעולות של כתיבת הנתונים ב-Data Boost באשכול היעד.
אפשר לבדוק את עקביות השכפול לפני שבודקים את העקביות של Data Boost. כדי לעשות את זה, קודם שולחים אסימון עקביות במצב StandardReadRemoteWrites.
מידע נוסף זמין במאמר בנושא הפניה ל-API CheckConsistencyRequest.
מכסה וחיוב
השימוש ב-Data Boost נמדד ביחידות עיבוד ללא שרת (SPU). 1,000 יחידות SPU שוות לצומת אחד בביצועים. כשמריצים את ה-SPU מול HDD או אחסון מדורג, ה-SPU מתייחס גם למשאבי המחשוב ללא שרת וגם לפעולות הדיסק הבסיסיות. בניגוד לצמתים שהוקצו, אתם מחויבים על יחידות SPU רק כשאתם משתמשים ב-Data Boost. כל בקשה מחויבת במינימום של 60 שניות של יחידות SPU, ואתם מחויבים ב-10 יחידות SPU לפחות לשנייה.
מידע נוסף על התמחור של Data Boost זמין במאמר בנושא תמחור של Bigtable.
מוקצה לכם נפח אחסון ואתם מחויבים על יחידות אחסון בנפרד מהנפח ומהחיובים על צמתים.
מדדים שעומדים בדרישות
התכונה Data Boost מיועדת לסריקות עם תפוקה גבוהה, ועומסי העבודה צריכים להיות תואמים כדי שאפשר יהיה להשתמש בה. לפני שממירים פרופיל אפליקציה רגיל לשימוש ב-Data Boost או יוצרים פרופיל אפליקציה של Data Boost עבור עומס עבודה קיים, כדאי לעיין במדדי הזכאות ל-Data Boost כדי לוודא שההגדרה והשימוש עומדים בקריטריונים הנדרשים. מומלץ גם לעיין בהגבלות.
מעקב
כדי לעקוב אחרי התנועה של Data Boost, אפשר לבדוק את המדדים של פרופיל האפליקציה של Data Boost בדף התובנות לגבי מערכת Bigtable במסוףGoogle Cloud . במאמר תרשימים של תובנות מערכת למשאבי Bigtable מפורטת רשימה של מדדים שזמינים לפי פרופיל אפליקציה.
כדי לעקוב אחרי השימוש ביחידות עיבוד ללא שרת (SPU), אפשר לבדוק את מדד השימוש ביחידות SPU (data_boost/spu_usage_count) בכרטיסייה פרופיל האפליקציה בדף התובנות של מערכת Bigtable.
אחרי שתתחילו להשתמש ב-Data Boost, תוכלו להמשיך לעקוב אחרי מדדי הזכאות בפרופיל האפליקציה.
מגבלות
אין תמיכה במאפייני עומס העבודה ובהגדרות המשאבים הבאים ב-Data Boost.
- כתיבה ומחיקה
- תנועה שמורכבת בעיקר מקריאות של נקודות (קריאות של שורה אחת)
- יותר מ-1,000 קריאות בשנייה לכל אשכול
- סריקות הפוכות
- סנכרון שינויים בזרמי נתונים
- עדיפויות של בקשות
- ניתוב בין כמה אשכולות
- עסקאות בשורה אחת
- נקודות קצה אזוריות
- שאילתות של כלי ליצירת שאילתות ב-Bigtable Studio
- מקרים שבהם נעשה שימוש בהצפנת CMEK
- ספריות לקוח לא תואמות. חובה להשתמש בלקוח Bigtable ל-Java בגרסה 2.31.0 ואילך.
- כדי להריץ משימות של Dataflow באמצעות
BigtableIOלקריאת נתונים מ-Bigtable, צריך להשתמש ב-Apache Beam בגרסה 2.54.0 ואילך. - כדי להריץ משימות Dataflow באמצעות
CloudBigtableIOלקריאת נתונים מ-Bigtable, צריך להשתמש ב-bigtable-hbase-beamבגרסה 2.14.1 ואילך.
- כדי להריץ משימות של Dataflow באמצעות
המאמרים הבאים
- יצירה או עדכון של פרופיל אפליקציה
- מידע נוסף על מחבר Bigtable Beam
- משתמשים במחבר Bigtable Spark.
- הרצת שאילתות וניתוח של נתוני Bigtable באמצעות BigQuery