בחירה נכונה של ארכיטקטורת הטבלה היא קריטית למיקסום הביצועים, לצמצום העלויות ולהבטחת גישה לנתונים בכל כלי הניתוח. בדף הזה מוסבר על סוגי הטבלאות השונים ועל נקודות הקצה להצגת נתונים שזמינות ב-Lakehouse for Apache Iceberg. כך תוכלו לבחור את האפשרות הכי טובה בהתאם למנועי הכתיבה, לדרישות הקריאה ולצרכים שלכם בניהול בקרת הגישה.
פורמטים של טבלאות לפי קטלוג או מנוע
בוחרים קטלוג או מנוע כדי לקבל מידע על פורמטים נתמכים של טבלאות, על הגדרת מאגר מטא-נתונים, על יכולות אופטימיזציה של אחסון ועל יכולת פעולה הדדית של מנועים.
קטלוג של סביבת זמן ריצה של Lakehouse
הקטלוג של Lakehouse runtime מנהל טבלאות Apache Iceberg דרך נקודת הקצה של קטלוג Iceberg REST, ומספק יכולת פעולה הדדית חלקה של קריאה וכתיבה בין מנועים שתואמים ל-Iceberg (Spark, Flink, Trino) לבין BigQuery, תוך הסתמכות על ממשק קטלוג Iceberg REST שהוא תקן בתעשייה.
פורמטים נתמכים של טבלאות
יש תמיכה בטבלאות Apache Iceberg V2 (זמינות כללית) ובטבלאות V3 (תצוגה מקדימה). אין תמיכה בטבלאות Iceberg V1. לפני שמשתמשים בטבלאות קיימות בגרסה 1 עם Lakehouse for Apache Iceberg, צריך לשדרג אותן לגרסה נתמכת. למידע נוסף, ראו שדרוג טבלאות Iceberg V1 ל-V2.
בין התכונות העיקריות:
- Metastore: קטלוג זמן הריצה של Lakehouse.
- אחסון: Cloud Storage.
- אופטימיזציה של האחסון: מנוהלת על ידכם, או על ידי Google (גרסת Preview).
- גישת קריאה וכתיבה:
- מנועים של קוד פתוח: קריאה וכתיבה (זמינות כללית)
- BigQuery: קריאה/כתיבה (גרסת Preview)
- תרחישי שימוש: אגם נתונים פתוח עם אחסון ברמה ארגונית וביצועים גבוהים לניתוח מתקדם, לסטרימינג ול-AI.
Hive metastore
קטלוג זמן הריצה של Lakehouse מנהל טבלאות של Apache Hive באמצעות נקודת קצה של Apache Hive metastore (HMS) שעברה אופטימיזציה לתאימות ל-Apache Spark ExternalCatalog, ומאפשר לכם לשתף נתונים בצורה חלקה בין Apache Spark, Apache Hive ו-BigQuery. אתם יוצרים את הטבלאות האלה ממנועי קוד פתוח ומאחסנים אותן ב-Cloud Storage. האפשרות הזו מתאימה במיוחד אם אתם רוצים שמנועי קוד פתוח ינהלו את תהליך ה-ETL, בלי שתצטרכו מאגר מטא נתונים נפרד של Hive שמתארח באופן עצמאי, וכל מה שאתם צריכים זה גישת קריאה מ-BigQuery.
טבלאות שמנוהלות על ידי נקודת הקצה של Hive metastore הן טבלאות רגילות של Apache Hive ו-Spark (באמצעות Hive SerDes או מקורות נתונים של Spark), ולא טבלאות של Apache Iceberg. כדי ליצור ולנהל טבלאות Apache Iceberg בקטלוג של זמן הריצה של Lakehouse, צריך להשתמש בנקודת הקצה של קטלוג REST של Iceberg.
בין התכונות העיקריות:
- Metastore: קטלוג זמן הריצה של Lakehouse (דרך
IMetastoreClientמותאם אישית). - אחסון: Cloud Storage (תמיכה בפורמטים כמו Parquet, ORC ו-Avro).
- אופטימיזציה של האחסון: מנוהלת על ידכם או על ידי צד שלישי.
- גישת קריאה וכתיבה:
- מנועים של קוד פתוח (Spark ו-Hive): קריאה וכתיבה.
- BigQuery: גישה לקריאה בלבד.
- תרחישים לדוגמה: העברת עומסי עבודה (workloads) קיימים של Spark ו-Hive למאגר מטא-נתונים מנוהל ללא שרת (serverless) ב- Google Cloud.
BigQuery
BigQuery תומך בטבלאות מנוהלות של Apache Iceberg, בטבלאות מקוריות ובטבלאות חיצוניות.
טבלאות מנוהלות של Apache Iceberg: אלה טבלאות Apache Iceberg שאתם יוצרים ומנהלים מ-BigQuery ומאחסנים ב-Cloud Storage. אפשר לקרוא אותם באמצעות מנועי קוד פתוח, אבל BigQuery הוא המנוע שמנהל את המטא-נתונים וכותב אותם. האפשרות הזו מתאימה אם אתם רוצים ש-BigQuery ינהל את תהליך העבודה שלכם באופן מלא.
טבלאות מקוריות: אלה טבלאות מקוריות של BigQuery. הם מנוהלים באופן מלא ומציעים את התכונות המתקדמות ביותר לניתוח ולניהול. האפשרות הזו מתאימה לעומסי עבודה שאינם Iceberg.
טבלאות חיצוניות: אלה מבנים ספציפיים ל-BigQuery של נתונים שמאוחסנים ב-Cloud Storage, ב-Amazon S3 או ב-Azure Blob Storage. הנתונים והמטא-נתונים מנוהלים באופן עצמאי, ול-BigQuery יש גישת קריאה בלבד. בוחרים באפשרות הזו אם רוצים לנהל נתונים ישירות בקטלוג או באחסון של צד שלישי.
פורמטים של טבלאות לפי מוצר
בעזרת התרשים הבא אפשר להשוות בין סוגי הטבלאות בקטלוג של Lakehouse runtime וב-BigQuery.
lakehouse
| Apache Iceberg (GA) | Apache Hive (תצוגה מקדימה) | |
|---|---|---|
| Metastore | קטלוג של סביבת זמן ריצה של Lakehouse | קטלוג של סביבת זמן ריצה של Lakehouse |
| אחסון | Cloud Storage | Cloud Storage |
| אופטימיזציה של האחסון | לקוח, מנוהל על ידי צד שלישי או מנוהל על ידי Google (גרסת Preview) | מנוהל על ידי לקוח או צד שלישי |
| קריאה/כתיבה |
מנועי קוד פתוח (קריאה/כתיבה) BigQuery (קריאה/כתיבה). תצוגה מקדימה |
מנועי קוד פתוח (קריאה/כתיבה) BigQuery (קריאה בלבד) |
| פעולות מתקדמות | ללא | ללא |
| תרחישים לדוגמה | Open lakehouse | העברת עומסי עבודה (workloads) קיימים של Spark ו-Hive אל metastore מנוהל ללא שרת (serverless) |
BigQuery
| טבלאות מנוהלות של Apache Iceberg | טבלאות חיצוניות | טבלאות רגילות | |
|---|---|---|---|
| Metastore | BigQuery | מאגר מטא-נתונים חיצוני או מאגר מטא-נתונים באירוח עצמי | BigQuery |
| אחסון | Cloud Storage | Cloud Storage / Amazon S3 / Azure | BigQuery |
| אופטימיזציה של האחסון | בניהול Google | מנוהל על ידי לקוח או צד שלישי | בניהול Google |
| קריאה/כתיבה |
מנועי קוד פתוח (קריאה בלבד עם ספריות Iceberg, יכולת פעולה הדדית של קריאה/כתיבה עם BigQuery Storage API)
BigQuery (קריאה/כתיבה) |
מנועי קוד פתוח (קריאה/כתיבה) BigQuery (קריאה בלבד) |
מנועי קוד פתוח (יכולת פעולה הדדית של קריאה/כתיבה עם BigQuery Storage API) BigQuery (קריאה/כתיבה) |
| פעולות מתקדמות | סטרימינג בתפוקה גבוהה באמצעות BigQuery Storage Write API, Change Data Capture (CDC) ועסקאות מרובות הצהרות | ללא | סטרימינג בתפוקה גבוהה באמצעות BigQuery Storage Write API, Change Data Capture (CDC) ועסקאות מרובות הצהרות |
| תרחישים לדוגמה | Lakehouse פתוח עם אחסון ברמה ארגונית וביצועים גבוהים לניתוח נתונים מתקדם, סטרימינג ו-AI | טבלאות זמניות לטעינות של BigQuery, טבלאות מדור קודם שניתן להריץ עליהן שאילתות בלבד | אחסון ברמה ארגונית לניתוח נתונים מתקדם, לסטרימינג ול-AI |