גרסת בטא שביעית של OrioleDB, מנוע אחסון בעל ביצועים גבוהים עבור PostgreSQL

הוצגה גרסת הבטא של מנוע האחסון OrioleDB beta7 ופורסמו תוצאות של בדיקות חדשות, המדגימות עלייה משמעותית בביצועים בהשוואה ל-PostgreSQL המסורתי. בגרסת בטא 7, הוצגו אופטימיזציות כדי לשפר את הביצועים עם עומסים מרובים ולהאיץ את פעולות הקריאה והכתיבה. המהדורה היציבה הראשונה של OrioleDB מתוכננת לשנת 2025. המנוע כתוב ב-C ומופץ תחת רישיון PostgreSQL, בדומה לרשיונות BSD ו-MIT.

פרויקט OrioleDB מפתח מנוע אחסון חלופי עבור PostgreSQL, שנועד להתגבר על המגבלות של מנוע האחסון הסטנדרטי ולשפר את יעילות המערכת הכוללת. לדוגמה, OrioleDB מאפשרת לך להסתדר מבלי לבצע מעת לעת פעולת VACUUM לאיסוף אשפה, הודות ליישום מנגנון MVCC (Multi-Version Concurrency Control) המבוסס על יומני ביטול הפועלים ברמת בלוקים ושורות בודדים, וכן מערכת למיזוג אוטומטי של דפים המכילים נתונים. OrioleDB משתמש גם במזהי עסקאות של 64 סיביות, מה שפותר את בעיית הגלישה נגדית.

כדי לפשט את השימוש במערכות מבוזרות ולהקביל פעולות, OrioleDB מקיימת יומן עסקאות WAL ברמת השורה. בעת ביצוע פעולת UPDATE, נתמכת החלפת נתונים במקום (מבלי לשחרר את הרשומה הנוכחית וליצור אחד חדש), מה שמשפיע לטובה על הביצועים. OrioleDB גם מיישמת תכונות כגון קריאת דפי נתונים ללא שימוש במנעולים, קישור ישיר של דפים ב-RAM עם דפים באחסון מתמשך, שימוש במנגנון CoW (העתקה-על-כתיבה) בעת תיקון נקודות ביקורת ליצירת תמונות מצב עקביות בכל עת, מצב אחסון נתונים דחוס. באמצעות אלגוריתם ZSTD.

בין המגבלות הקיימות בגרסת הבטא השביעית של OrioleDB, מצוינת היכולת להשתמש רק באינדקסים בפורמט B-tree (בעתיד תהיה תמיכה בכל סוגי האינדקסים של PostgerSQL), כמו גם היעדר תמיכה ב- עסקאות מוכנות מראש (PREPARE TRANSACTION) והפקודה "REINDEX" במצב "במקביל" " OrioleDB מיושם כתוסף פלאגין הדורש שינויים בבסיס הקוד הראשי של PostgreSQL.

במבחני ביצועים של TPC-C, המדמים עומסי עבודה של עיבוד עסקאות בעולם האמיתי, גרסת הבטא השביעית של OrioleDB הראתה עליונות משמעותית על מנוע PostgreSQL המניות. בדיקות בוצעו עם מספרים שונים של לקוחות במקביל כדי להעריך את המדרגיות והביצועים של המערכת ככל שהעומס גדל.

בבדיקות שמעריכות תפוקת עסקאות, מנוע OrioleDB השיג תפוקה גבוהה יותר שנמדדה בעסקאות לדקה (tpmC). ככל שמספר הלקוחות גדל, הביצועים של OrioleDB המשיכו לעלות באופן לינארי, בעוד שמנוע ה-Heap של PostgreSQL נטה לקפוא ואף לרדת מעבר לסף מסוים.

 גרסת בטא שביעית של OrioleDB, מנוע אחסון בעל ביצועים גבוהים עבור PostgreSQL
 גרסת בטא שביעית של OrioleDB, מנוע אחסון בעל ביצועים גבוהים עבור PostgreSQL
 גרסת בטא שביעית של OrioleDB, מנוע אחסון בעל ביצועים גבוהים עבור PostgreSQL

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

מקור: OpenNet.ru

הוספת תגובה