Apache Pinot, מחסן נתונים של OLAP בקוד פתוח

אפאצ'י פינו

Apache Pinot הוא מחסן נתונים מבוזר בזמן אמת של OLAP

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

הוא יכול לקלוט נתונים ממקורות נתונים אצווה (כגון HDFS, S3, Azure Data Lake, Google Cloud Storage) וכן ממקורות סטרימינג (כגון Kafka). פינו מתוכנן להרחבה אופקית, כך שהוא יכול להרחיב למערכי נתונים גדולים יותר ולקצבי שאילתות גבוהים יותר לפי הצורך.

על אפאצ'י פינו

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

כמו רוב מחסני הנתונים ופתרונות מחסני הנתונים של OLAP אחרים, Pinot תומך בשפת שאילתות דמוית SQL התומכת בבחירה, צבירה, סינון, קיבוץ, מיון ושאילתות נתונים אחרות.

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

הנתונים מאוחסנים בטבלאות בתוך מסד נתונים מונחה עמודות, ונתמכים סכמות דחיסה שונות ויכולת להציב ערכים מרובים בשדה. Pinot מספקת מערכת אינדוקס ניתנת לחיבור שיכולה להשתמש בטכנולוגיות אינדוקס שונות (אינדקס מסודר, אינדקס מפת סיביות, אינדקס הפוך, אינדקס StarTree, מסנן Bloom, אינדקס טווחים, אינדקס חיפוש טקסט (Lucence/FST), אינדקס JSON, אינדקס גיאו-מרחבי).

מהמאפיינים הבולטים מאפאצ'י פינו:

  • מכוון עמודות– מסד נתונים מונחה עמודות עם ערכות דחיסה שונות כגון אורך ריצה ואורך סיביות קבוע.
  • אינדקס הניתן לחיבור: טכנולוגיות אינדקס ניתנות לחיבור, אינדקס ממוין, אינדקס מפת סיביות, אינדקס הפוך.
  • ייעול שאילתה- יכולת לייעל את תוכנית השאילתה/ביצוע בהתבסס על מטא נתונים של שאילתות ופלח.
  • בליעה של זרמים ואצוות: בליעה כמעט בזמן אמת של זרמי Hadoop והטמעת אצווה.
  • יִעוּץ: מנוע ביצוע שאילתות מבוסס SQL.
  • עצבנות בזמן בליעה בזמן אמת: עדכן נתונים בקנה מידה בעקביות
  • שדות ערכים מרובים: תמיכה בשדות מרובי ערכים, המאפשרת לך לבצע שאילתות בשדות כערכים מופרדים בפסיקים.
  • מקורי בענן ב-Kubernetes: תרשים הלמה מספק פריסה מקבצת מקבץ הניתנת להרחבה אופקית, סובלנית לתקלות, שקל לנהל עם Kubernetes.

גרסה חדשה של Apache Pinot

ראוי לציין שגרסה 1.0 של Apache Pinot שוחררה לאחרונה , אשר סיכמה למעשה עבודה רבה לייצוב בסיס הקוד והתחשבות ברצונות הקהילה (יותר מ-300 תגובות נשקלו).

בנוסף, ראוי לציין כי מנוע השאילתות הרב-שלבי החדש הגיע למלוא הפוטנציאל שלו , ומאפשר תמיכה במיזוג טבלאות (JOINs). המנוע בו נעשה שימוש בתחילה ביצע ביצועים מצוינים עם פעולות סינון וצבירה פשוטות, אך כדי להבטיח זמני ביצוע שאילתות צפויים, הוא לא תמך בפעולות צירוף טבלאות.

המנוע החדש כולל שלבי ביניים לעיבוד שאילתות מורכבות, וסמנטיקת ה-SQL שלו קרובה ל-ANSI SQL . יתר על כן, הגרסה החדשה מציעה תמיכה מובנית לעיבוד נתוני JSON, מספקת תמיכה בערך "NULL", משתלבת עם Apache Spark 3.x, ומשפרת את יישום הטבלאות במצב Upsert (הוספת דחיסת מקטעים ומתן תמיכה לפעולות מחיקה).

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


הוסף כמקור מועדף בגוגל