מבוא ל-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 streaming, אפשר לכתוב נתונים לזרם ולבצע את הנתונים כעסקה אחת. אם פעולת השמירה נכשלת, אפשר לנסות אותה שוב.
  • עסקאות בכל הזרמים. בסטרימינג של gRPC, כמה תהליכי worker יכולים ליצור סטרימים משלהם כדי לעבד נתונים באופן עצמאי. אחרי שכל העובדים יסיימו, תוכלו לבצע את כל הזרמים כעסקה.
  • זיהוי עדכוני סכימה. בסטרימינג של gRPC, אם סכימת הטבלה הבסיסית משתנה בזמן שהלקוח מבצע סטרימינג, ה-API מודיע על כך ללקוח. הלקוח יכול להחליט אם להתחבר מחדש באמצעות הסכימה המעודכנת או להמשיך לכתוב לחיבור הקיים.

הדיאגרמה הבאה מפרטת פרטים טכניים נוספים שכדאי להכיר כשבוחרים שיטת סטרימינג:

תרשים לבחירת גישת סטרימינג של Storage Write API.

המאמרים הבאים