תזמור תהליך עבודה מורכב עם משימות תלויות מרובות (לדוגמה, Dataflow, BigQuery, Cloud Functions) על פי לוח זמנים.
השתמש ב-Cloud Composer (Apache Airflow מנוהל).
למה: הסטנדרט לתזמור תהליכי עבודה מורכבים. מספק DAGs להגדרת תלות, תזמון, ניסיונות חוזרים, התראות, ומערכת אקולוגית עשירה של אופרטורים.
DAG של Cloud Composer צריך להשהות ולהמתין שקובץ ספציפי יופיע בדלי Cloud Storage לפני ההמשך.
השתמש ב-`GCSObjectExistenceSensor` ב-DAG של Airflow.
למה: זוהי תבנית "חיישן" (sensor) האידיומטית של Airflow להמתנה לתנאים חיצוניים. היא יעילה יותר מלולאת בדיקה מותאמת אישית ב-PythonOperator.
צינור Dataflow זורם צריך לצבור אירועים כראוי לפי חותמת זמן, גם אם אירועים מגיעים שלא לפי הסדר או באיחור.
השתמש בחלונות זמן אירוע (event-time windowing) עם סימני מים (watermarks) והגדר `allowedLateness`.
למה: תכונה זו של Dataflow/Beam מקבצת נתונים כראוי בהתבסס על מועד התרחשות האירוע, ולא מועד עיבודו. `allowedLateness` מונע מנתונים מאוחרים להיזרק.
הפעל עבודות Apache Spark בקנה מידה גדול ולא אינטראקטיביות עבור עיבוד אצווה או למידת מכונה (ML).
השתמש באשכול Dataproc. לחיסכון מרבי בעלויות, השתמש באשכול ארעי (ephemeral) עם Spot VMs (לשעבר preemptible VMs).
למה: Dataproc הוא שירות Spark/Hadoop המנוהל. אשכולות ארעיים קיימים רק למשך זמן העבודה, ו-Spot VMs מציעים הנחות עמוקות לעומסי עבודה סובלניים לתקלות.
צור צינור Dataflow סטנדרטי שניתן להפעיל על ידי צוותים שונים עם פרמטרים משתנים (לדוגמה, נתיבי קלט/פלט).
ארוז את הצינור כתבנית Dataflow Flex Template.
למה: Flex Templates הם הסטנדרט המודרני לעבודות Dataflow שניתנות לשימוש חוזר. הם מבוססי קונטיינרים, תומכים בתלות מותאמת אישית ומקבלים פרמטרים בזמן ריצה.
משימה ב-DAG של Cloud Composer נכשלת באופן זמני עקב בעיות חיצוניות ארעיות (לדוגמה, הגבלת קצב API, תחרות על משאבים).
הגדר `retries` ו-`retry_delay` עם `retry_exponential_backoff=True` עבור המשימה.
למה: זה הופך את הצינור לעמיד על ידי ניסיונות חוזרים אוטומטיים של משימות כושלות עם עיכובים הולכים וגדלים, ולעיתים קרובות פותר בעיות ארעיות ללא התערבות ידנית.
צינור Dataflow זורם מפגר, ומציג השהיה גבוהה של המערכת או רעננות נתונים ירודה.
בדוק מדדי ניטור של Dataflow. וודא אם המדרגיות האוטומטית מגיעה למגבלת `maxNumWorkers`. הגדל את `maxNumWorkers` או עבור לסוג מכונה גדול יותר.
למה: השהיה גבוהה של המערכת היא אינדיקטור עיקרי של יכולת עיבוד בלתי מספקת. הצינור זקוק ליותר עובדים או לעובדים גדולים יותר כדי לעמוד בקצב זרימת הנתונים.
ניהול נתונים
אופטימיזציה של טבלת BigQuery גדולה עבור עלויות שאילתה וביצועים.
חלק את הטבלה לפי עמודת יחידת זמן המסוננת לעיתים קרובות (לדוגמה, תאריך עסקה). מקבץ את הטבלה לפי עמודות אחרות בעלות קרדינליות גבוהה ומסוננות לעיתים קרובות (לדוגמה, `customer_id`).
למה: חלוקה היא הדרך היעילה ביותר להפחית עלויות והשהיה על ידי קיטום כמות הנתונים הנסרקים. קיבוץ משפר עוד יותר את הביצועים על ידי מיון נתונים בתוך מחיצות.
גלה, נהל, אבטח ונטר נכסי נתונים (BigQuery, GCS) ברחבי ארגון שלם.
השתמש ב-Dataplex.
למה: Dataplex פועל כרשת נתונים חכמה, המספקת לוח בקרה מאוחד לממשל נתונים, איכות, שושלת, גילוי וניהול מחזור חיים על פני מאגרי נתונים מפוזרים.
הבן ודמיין כיצד נתונים זורמים ממערכות מקור, דרך עבודות טרנספורמציה, לטבלאות דיווח סופיות.
השתמש ב-Dataplex Data Lineage.
למה: קולט אוטומטית מידע שושלת מיומני BigQuery, Data Fusion ו-Composer כדי לספק תצוגה אינטראקטיבית מבוססת גרפים של תלות נתונים לצורך ניתוח השפעה וביקורת.
הבטח ביצועי שאילתה ועלות צפויים עבור עומסי עבודה קריטיים, הימנעות מ"תחרות על חריצים" (slot contention) ממשתמשים אחרים.
רכוש BigQuery Editions (תמחור מבוסס קיבולת). צור הזמנות כדי להקדיש מאגר של חריצים לפרויקטים או תיקיות ספציפיים.
למה: מעבר ממאגר משותף, לפי דרישה, לקיבולת חישוב ייעודית, המבטיח משאבים לעבודות קריטיות ומספק חיוב צפוי.
סרוק את כל נכסי הנתונים ב-BigQuery וב-Cloud Storage כדי לזהות ולסווג אוטומטית PII ונתונים רגישים אחרים.
הגדר עבודת סריקת גילוי של Cloud Data Loss Prevention (DLP).
למה: Cloud DLP משתמש במאות גלאים מוגדרים מראש כדי למצוא נתונים רגישים בקנה מידה. הוא יכול להשתלב עם Data Catalog כדי להחיל אוטומטית תגי מדיניות לצורך ממשל.
יישום מבוסס קונטיינרים (ב-GKE או Cloud Run) צריך לבצע אימות מאובטח ל-BigQuery ללא ניהול מפתחות חשבון שירות.
השתמש ב-Workload Identity.
למה: השיטה המומלצת לאימות שירות-לשירות. היא ממפה חשבון שירות של Kubernetes לחשבון שירות של GCP IAM, תוך שימוש באסימונים קצרי מועד המסתובבים אוטומטית.
לצורך ציות, הפק דוח של כל המשתמשים שביצעו שאילתה על טבלת BigQuery רגישה ב-90 הימים האחרונים.
אפשר ובצע שאילתה על יומני הביקורת של BigQuery Data Access, אשר ניתן לנתב למערך נתונים של BigQuery לצורך ניתוח.
למה: יומני Data Access מספקים תיעוד בלתי ניתן לשינוי של מי ניגש לאיזה נתונים ומתי. הם חיוניים לביקורות אבטחה וציות אך חייבים להיות מופעלים במפורש.
זהה אילו משתמשים או שאילתות אחראים לעלויות גבוהות ב-BigQuery.
בצע שאילתה על התצוגה `INFORMATION_SCHEMA.JOBS`.
למה: תצוגת מטא-נתונים זו מכילה מידע מפורט על כל הרצת שאילתה, כולל המשתמש, בייטים שחויבו, וחריצים שנצרכו, מה שמאפשר ייחוס וניתוח עלויות מדויק.
ניתוח נתונים והצגתם
בצע חישובים אנליטיים מורכבים כמו סיכומים מצטברים, דירוג בתוך קבוצות (לדוגמה, N המובילים לכל קטגוריה), או השוואת שורה לשורה קודמת.
השתמש בפונקציות חלון SQL של BigQuery (`SUM() OVER (...)`, `RANK() OVER (...)`, `LAG() OVER (...)`).
למה: שיטת ה-SQL הסטנדרטית והיעילה ביותר לביצוע חישובים על פני קבוצת שורות טבלה הקשורות בדרך כלשהי לשורה הנוכחית.
צור ושתף לוחות מחוונים אינטראקטיביים המתעדכנים אוטומטית על נתוני BigQuery עבור משתמשים עסקיים שאינם כותבים SQL.
השתמש ב-Looker Studio.
למה: כלי הוויזואליזציה המובנה והחינמי של GCP. הוא מתחבר ישירות ל-BigQuery ומאפשר שיתוף באמצעות קישור פשוט, תוך ניהול פרטי כניסה של מקורות נתונים בנפרד מגישת המשתמש.
אפשר לאנליסטים עסקיים להשתמש בכלי גיליונות אלקטרוניים מוכרים (טבלאות ציר, תרשימים, נוסחאות) כדי לנתח טרה-בייט של נתונים ב-BigQuery.
השתמש ב-Connected Sheets.
למה: מספק חיבור חי מ-Google Sheets ל-BigQuery. כל העיבוד והחישוב מתבצעים ב-BigQuery, ועוקפים את מגבלות הגודל והביצועים של גיליון אלקטרוני מסורתי.
לוח מחוונים של Looker Studio שמבצע שאילתות על אגרגציות גדולות ומורכבות הוא איטי ויקר.
צור תצוגה ממומשת (Materialized View) ב-BigQuery כדי לחשב מראש את האגרגציות. הפנה את מקור הנתונים של Looker Studio לתצוגה הממומשת.
למה: תצוגות ממומשות מחשבות מראש ושומרות במטמון תוצאות שאילתות יקרות. זה משפר באופן דרמטי את ביצועי לוחות המחוונים ומפחית את עלויות השאילתה עבור עומסי עבודה חוזרים.
בנה, אמן והפעל מודל למידת מכונה (לדוגמה, לסיווג, רגרסיה או חיזוי) באמצעות נתונים הנמצאים ב-BigQuery.
השתמש ב-BigQuery ML (BQML).
למה: מבצע דמוקרטיזציה של למידת מכונה על ידי מתן אפשרות למשתמשים לאמן מודלים באמצעות תחביר `CREATE MODEL` סטנדרטי של SQL. המודל חי ורץ בתוך BigQuery, מה שמפשט את הפריסה והחיזוי.