הצטרפו לקבוצות שלנו לקבלת עדכונים מרוכזים פעם בשבוע:

ווטסאפ:
http://wa.dwh.co.il
טלגרם:
http://telegram.dwh.co.il

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

ByConity, שמו של מחסן הנתונים של ByteDance, הוא מסד נתונים רלציוני, קולומנרי, הניתן להרחבה בצורה גמישה, המבוסס על ClickHouse, מסד הנתונים הניתן להרחבה, הקוד הפתוח, שיצרה ענקית המדיה הרוסית Yandex ב-2009 והתפתחה לחברה משלה ב-2021. ByteDance, שהיא הבעלים של TikTok, הטמיעה את ClickHouse ב-2018 כדי לעבד אצווה ונתונים בזמן אמת.

כאשר אפליקציית TikTok המריאה ברחבי העולם מאוחר יותר באותה שנה, נפח הנתונים שזורם לתוך ClickHouse זינק, מה שהוביל לכאבי גדילה עם מחסן הנתונים. האשם העיקרי, על פי פוסט בבלוג מ-24 במאי של מתחזקת חברת ByConity ,היא  Vini Jaiswal, היה ארכיטקטורת הכלום המשותף של ClickHouse, שמנעה מהחברה להרחיב את האחסון והמחשוב באופן עצמאי ולהבטיח רמות גבוהות של ביצועי שאילתות.

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

ByConity, שפותחה ב-C++ (זהה ל-ClickHouse), מספקת עקביות חזקה של פעולות קריאה וכתיבה של נתונים, כתב Jaiswal. "זה מבטיח שהנתונים יהיו תמיד מעודכנים ומבטל כל חוסר עקביות בין פעולות קריאה וכתיבה, ומבטיח שלמות ודיוק הנתונים", כתבה.

צוות ByConity אימץ אלמנטים נפוצים עם מנועי OLAP אחרים, כולל אחסון מונחה עמודות, ביצוע וקטורי, ביצוע MPP ואופטימיזציה של שאילתות, לפי Jaiswal. היא בחרה ב-FoundationDB, מנגנון key-value store  בקוד פתוח בבעלות אפל, לאחסון מטא נתונים. בינתיים, גישה וירטואלית לאחסון קבצים מאפשרת למשתמשי ByConity לאמץ אחסון אובייקטים כמו S3 או Hadoop Distributed File System (HDFS) כמנגנון האחסון הבסיסי.

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

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

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

כדי לקרוא את המקור של ידיעה זאת, אנא הכנסו ללינק זה.