מבוא ל-Storage Write API
BigQuery Storage Write API הוא ממשק API מאוחד להטמעת נתונים, שמאפשר להזרים רשומות ל-BigQuery בזמן אמת. ה-API לכתיבה ב-Storage זמין דרך נקודות קצה של gRPC ו-REST.
בחירת שיטת סטרימינג
אפשר להשתמש ב-Storage Write API בשתי דרכים: באמצעות gRPC streaming או באמצעות REST endpoint. gRPC streaming מתאים במיוחד לחיבורים ארוכי טווח ולסטרימינג רציף, ואילו REST endpoint מתאים במיוחד לסביבות ארעיות, בלי שמירת מצב או מוגבלות.
לסביבות עבודה חדשות, מומלץ להשתמש בסטרימינג של gRPC מהסיבות הבאות:
- פרוטוקול יעיל. הזרמת gRPC יעילה יותר מ-REST דרך HTTP. הוא תומך גם בפורמט הבינארי של מאגר האחסון לפרוטוקולים ובפורמט העמודות של Apache Arrow, שהם פורמטים יעילים יותר להעברת נתונים מאשר JSON. בקשות כתיבה הן אסינכרוניות עם סדר מובטח.
- עלות נמוכה יותר. העלות של סטרימינג ב-gRPC נמוכה משמעותית מזו של REST. בנוסף, אתם יכולים להעלות עד 2 TiB בחודש בחינם.
- סמנטיקה של מסירה בדיוק פעם אחת. סטרימינג של gRPC תומך בסמנטיקה של מסירה בדיוק פעם אחת באמצעות שימוש בהיסטים של סטרימינג, והוא אף פעם לא כותב שתי הודעות עם אותו היסט בסטרימינג, אם הלקוח מספק היסטים של סטרימינג כשמוסיפים רשומות.
- עסקאות ברמת הזרם. באמצעות סטרימינג של gRPC, אפשר לכתוב נתונים לסטרימינג ולבצע את הנתונים כעסקה אחת. אם פעולת השמירה נכשלת, אפשר לנסות שוב לבצע את הפעולה.
- עסקאות בכל הזרמים. בסטרימינג של gRPC, כמה תהליכי worker יכולים ליצור סטרימינג משלהם כדי לעבד נתונים באופן עצמאי. אחרי שכל העובדים מסיימים, אפשר לבצע את כל הזרמים כעסקה.
- זיהוי עדכוני סכימה. בסטרימינג של gRPC, אם סכימת הטבלה הבסיסית משתנה בזמן שהלקוח מבצע סטרימינג, ה-API שולח ללקוח התראה. הלקוח יכול להחליט אם להתחבר מחדש באמצעות הסכימה המעודכנת או להמשיך לכתוב לחיבור הקיים.
הדיאגרמה הבאה מפרטת פרטים טכניים נוספים שכדאי להכיר כשבוחרים שיטת סטרימינג: