Yandex פרסמה את קוד המקור של ה-DBMS שלה «YDB»

לאחרונה החדשות פרצו זאת Yandex פרסמה את קוד המקור של ה-DBMS שלה, «YDB», המיישמת תמיכה בניב SQL ועסקאות ACID.

ה-DBMS נבנה מהיסוד ופותח בתחילה מתוך כוונה להבטיח סובלנות לתקלות, תקלות אוטומטית ומדרגיות. יש לציין כי Yandex השיקה אשכולות YDB עובדים, הכוללים יותר מ-10 אלף צמתים, המאחסנים מאות פטה-בייט של נתונים ומשרתים מיליוני עסקאות מבוזרות בשנייה.

חידושים עיקריים של YDB

מבין התכונות הבולטות מ-YDB הוא שימוש במודל הנתונים היחסי עם טבלאות YQL (YDB Query Language) משמשת לשאילתה והגדרת סכימת הנתונים, כלומר דיאלקט של SQL המותאם לעבודה עם מסדי נתונים מבוזרים גדולים. בעת יצירת סכימת אחסון, נתמך קיבוץ טבלאות דמוי עץ, הדומה לספריות במערכת קבצים. API מסופק לעבודה עם נתונים בפורמט JSON.

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

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

בנוסף, זה גם בולט אחסון נתונים ישירות על התקני בלוק באמצעות רכיב PDisk native ושכבת VDisk. בנוסף ל-VDisk, פועל DSProxy, שמנתח את הזמינות והביצועים של דיסקים כדי לא לכלול אותם אם מתגלות בעיות.

של תכונות אחרות הבולטים:

  • ארכיטקטורה גמישה המאפשרת לבנות שירותים שונים על גבי YDB, עד למכשירי בלוק וירטואלי ותורים מתמשכים. התאמה לסוגים שונים של עומס עבודה: OLTP ו-OLAP (שאילתות אנליטיות).
  • תמיכה בתצורות מרובות משתמשים (מרובות דיירים) וללא שרתים.
  • יכולת אימות לקוחות. משתמשים יכולים ליצור אשכולות ומסדי נתונים וירטואליים משלהם על תשתית משותפת משותפת, תוך התחשבות בצריכת משאבים במונחים של מספר בקשות וגודל נתונים, או על ידי השכרה/שימור משאבי מחשוב ושטח אחסון מסוימים.
  • אפשרות להתאים את אורך החיים השימושיים של הרשומות למחיקה אוטומטית של נתונים מיושנים.
  • האינטראקציה עם ה-DBMS והגשת בקשות נעשית באמצעות ממשק שורת הפקודה, ממשק האינטרנט המשולב, או YDB SDK, המספק ספריות עבור C++, C# (.NET), Go, Java, Node.js, PHP ו-Python.
  • התאושש אוטומטית מתקלות עם עיכוב מינימלי ליישומים ושמור אוטומטית על יתירות שצוינה בעת אחסון נתונים.
  • יצירה אוטומטית של אינדקסים על המפתח הראשי ויכולת להגדיר אינדקסים משניים לשיפור היעילות של גישה לעמודות שרירותיות.
  • מדרגיות אופקית. ככל שהעומס והגודל של הנתונים המאוחסנים גדלים, ניתן להרחיב את האשכול פשוט על ידי חיבור צמתים חדשים. שכבות מחשוב ואחסון נפרדות, מה שמאפשר לך לשנות את קנה המידה של המחשוב והאחסון בנפרד. ה-DBMS עצמו עוקב אחר חלוקה שווה של הנתונים והעומס, תוך התחשבות במשאבי החומרה הזמינים. ניתן ליישם תצורות מבוזרות גיאוגרפית המכסות מספר מרכזי נתונים באזורים שונים בעולם.
  • תמיכה במודל עקביות חזק ועסקאות ACID בעת עיבוד שאילתות המשתרעות על מספר צמתים וטבלאות. כדי לשפר את הביצועים, אתה יכול להשבית באופן סלקטיבי את בדיקת העקביות.
  • שכפול נתונים אוטומטי, חלוקה אוטומטית למחיצות (חלוקה, פיצול) כאשר הגודל או העומס גדלים, ואיזון עומס ונתונים אוטומטי בין צמתים.

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


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

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.