עתידם של Data Lakehouses: הסבר על Apache Iceberg

אנו יודעים כי ניהול המידע היום משתנה לחלוטין. למעשה, למעולם עסקים סמכו על מחסניות נתונים, אשר אחסנו מידע באופן מתאים. הן מובנות, מונהרות, ומהירות בחילוץ מידע, אף על פי שהן יקרות וגמישות בטבען. לעומת זאת, אגמי נתונים יעילים יותר ומאפשרים אחסון של כמויות עצומות של נתונים ללא תשתית מוגבלת. אולם, התפתחות ארכיטקטורת ה־lakehouse משלבת את היתרונות של אגמי הנתונים והמחסניות. דגם ה־lakehouse מאפשר לשמור על הגמישות שמספקים אגמי נתונים בזמן שמשלב את האמינות, המנהל, והביצועים של מחסנית נתונים.

הפורמט שולחן הנתונים בקוד פתוח המשמש לניתוח נתונים בגדול הוא Apache Iceberg. Iceberg נמצא בפתח של תהליך השינוי הזה ומשפר את ערך הנתונים בארכיטקטורת ה־lakehouse. בנוסף, Iceberg מספק פתרונות למגוון הבעיות שגוות נתונים נתקלים בהן, כולל אבולוציית סכימה, עסקאות ACID, עקיפת נתונים, וביצועי שאילתות. 

פוסט זה הוא הראשון בסדרת שלושה חלקים המחקרת את Apache Iceberg ואת התפקיד שלו בארכיטקטורות מודרניות של נתונים. בפוסט הזה, המוקד יהיה על הנושאים הבאים:

  1. התפתחות ממחסניות נתונים אל אגמי נתונים
  2. האתגרים הקשורים לשיטות מסורתיות
  3. איך Apache Iceberg פותר את המגבלות הללו

הפוסטים הבאים בסדרה זו יעמיקו יותר בארכיטקטורה של Iceberg ויתחקו איך שאילתות עובדות בתוך השולחנים של Iceberg.

תקציר קצר: התפתחות אגמי נתונים ממחסניות נתונים

לאורך שנים רבות, עסקים תלו במחסניות נתונים, ששימשו כיסוד המרכזי לניתוחים. מחסנית נתונים data warehouse פועלת כמאגר מרכזי המיועד לכידת נתונים מובנים ממקורות שונים כדי לייצר דוחות ותובנות ביעילות. כיום, מחסניות נתונים תומכות בביצוע שאילתות מהיר יחד עם מנגנוני שלטון חזקים, מאפשרות להן להיות אמינות ומאוד מסודרות.

אף על פי כן, ארגונים נתקלו בבעיות חדשות עם עליית נפח הנתונים.

  1. עליית עלויות האחסון בשל עמלות חישוב ואחסון גבוהות
  2. אכיפת סכמה הייתה נוקשה, וזה עשה את האינטגרציה של נתונים חצי-מבנה או בלתי מבניים קשה
  3. תמיכה בעומסי עבודה של AI ולמידה חישובית הייתה מוגבלת

כפתרון, חברות החלו להשתמש באגמי נתונים. בכך הן מאפשרות לעסקים לשמור על נתונים גולמיים, נתונים מובנים ונתונים בלתי מובנים באחסון זול כמו Amazon S3, Azure Data Lake Storage, Google Cloud Storage ו-Hadoop Distributed File System.

היתרונות של אגמי נתונים כללו את הגורמים הבאים:

  1. הוזלת עלויות האחסון בסביבות עננים ספציפיות
  2. שימוש בפורמטי נתונים חדשים כגון נתונים בלתי מובנים, חצי-מבנה ואף מובנים
  3. שיפור בשימוש ביישומי AI ולמידת מכונה

עם כל היתרונות אלה, אגמי הנתונים הביאו בעיות חדשות כמו:

  1. החוסר בממשק ניהול וסכימה, שגרם לסטים נתונים בלתי עקביים.
  2. השימוש באינדקסים וסריקות שוליים מלאות באופן בלתי יעיל גרם להאטת ביצועי השאילתה.
  3. החוסר בעסקאות ACID גרם למאמץ בהבטחת תקינות הנתונים בסביבות משתמשים מרובים.

זירת ההופעה של Data Lakehouse

בית המידע של Data Lakehouse משלב את כל יתרונות הגמישות והכלכליים של בית המידע עם היציבות, המהימנות ותכונות העסקאות של בית המידע. זו פרדיגמת עיצוב מודרנית.

היתרונות העיקריים של Data Lakehouse כוללים:

  1. אירוח של פונקציות אחסון ועיבוד במחיר נמוך יותר
  2. שליטה יעילה בנתונים דרך עסקאות ACID
  3. שינוי בסכימה בלתי כואבת את השאילתות הקיימות – אבולוציית סכימה
  4. שחזור גרסאות קודמות של טבלה דרך יכולויות נסיעה בזמן

ההכנסה של יכולויות אלו הביאה לפיתוח פורמטים טבלה מודרניים כגון Delta Lake, Apache Hudi ו-Apache Iceberg. מבנים אלה הפכו את הפעולה של בתי המידע להיות דומה לבתי מידע עם החופש להישאר גמישים ולא מאוחסנים עקב הכנסת שכבות מטא-נתונים מובנות. בין פורמטי הטבלה הללו, Apache Iceberg זכתה להצלחה מובילה, מציעה פתרון עמיד לארגונים המחפשים לעבור לארכיטקטורת Data Lakehouse.

Apache Iceberg: משנה את המשחק לבתי מידע של Data Lakehouse

מהו פורמט טבלה?

שימוש ב־פורמט טבלה מספק דרך לניהול יעיל של מאגרי מידע גדולים המאוחסנים באגם נתונים. הוא מכיל מספר פונקציות, כוללות:

  1. מבנה המידע לטבלאות לניהול יעיל ושאילתות.
  2. הסרת נתונים ועדכונם ביעילות, כמו גם שינוי סכמות.
  3. שיפור בביצועים בזמני תגובה לשאילתות על ידי שינוי במטא-נתונים.

כמו פורמטי טבלה מסורתיים אחרים דוגמת Hive, נקיים תלות באחסון המבוסס על ספריות, המשמעות של כך הייתה שהטבלאות נבנו מתוך תוכן של ספריות קבצים מסוימות. אולם, שיטה זו יצרה מצוקת ביצועים מאחר שמנועי השאילתות היו צריכים לסנן את כל הספריות לפני ביצוע השאילתה.

התפתחות מ־Hive ל־Iceberg

פורמט הטבלה של Hive ניסה לפתור את בעיות המידע המאוחסן בשנים הראשונות. המטרה הייתה לאפשר למשתמשים לארגן סטים של נתונים לתוך טבלאות עם שאילתות דומות לאלה שמשמשות ב־SQL על ידי Apache Hive ו־Presto. אולם, ישנם חסרונות משמעותיים בפורמט של Hive:

  1. אי עקביות בשל כתיבות משולבות ממקורות שונים עקב חוסר עסקיות ACID.
  2. פעולות רשימת קבצים יקרות בגלל ניהול במתן מטא-נתונים לא יעיל.
  3. שאילתות איטיות כתוצאה מאתגרי התקצוב המדריך של המחיצות.

איך Apache Iceberg פותרת את האתגרים הללו

Apache Iceberg הוא פורמט טבלה מודרני שמבטל את הבעיות שמתגלות עם Hive תוך ספק עסקאות ACID, אבולוציית סכימה וביצוע מהיר בשאילתות עם אגמי נתונים.

בין היתרונות החשובים של Apache Iceberg ניתן למנות:

  1. עסקאות ACID שמבטיחות עדכוני נתונים אמינים ועקביות.
  2. יכולת לנסוע בזמן ולשאול את צילומי הנתונים ההיסטוריים.
  3. אבולוציית סכימה שמאפשרת הוספת, שינוי שם או השלכת עמודות בלי לשבור שאילתות קיימות.
  4. התפתחות של מחלקה המפרידה שמאופטימה באופן אוטומטי את אסטרטגיות המחלקה.
  5. הפחתת סריקות קבצים מיותרות מאפשרת ביצוע שאילתות מהיר יותר בזכות ניהול יעיל של המטא-נתונים.

הערות סופיות

ניהול הנתונים השתנה באופן דרמטי עם זיהום של Apache Iceberg. זה מאפשר לחברות שמעבירות לגישת 'בית אגם לנתונים' לנהל את המידע שלהן בדרך יעילה מבחינת עלויות וקליטה גבוהה מאוד מבלי לוותר על ביצועים. ברור שניתן לראות שנתונים ניתנים לניתוח הופכים עם המצאת Apache Iceberg, ושימושו מתרחב באופן קבוע. תהיהו מוכנים לפוסט הסופי בסדרה זו. בשני הפוסטים הבאים בבלוג, המוקד ישתנה ל:

  • חלק 2: ארכיטקטורת Apache Iceberg, כולל שכבות הנתונים, המטא-נתונים והקטלוג.
  • חלק 3: המנגנונים של שאילתות ב-Iceberg, כולל קריאה וכתיבה, נסיעה בזמן, ושיטות אופטימיזציה של שאילתות.

Source:
https://dzone.com/articles/the-future-of-data-lakehouses-apache-iceberg