זה הוכרז שחרור הגרסה החדשה של «Valkey 8.1», מזלג של Redis שנולד לאחר המעבר שלו לרישיון קנייני, וששואף לשמור על הפילוסופיה הפתוחה של הפרויקט המקורי.
Valkey 8.1 הוא כולל מספר רב של שיפורים ושינויים, שההתמקדות העיקרית שלו היא באופטימיזציות של ביצועים המפחיתות זמן חביון, מגדילות את יעילות הזיכרון ויכולות מודולריות חדשות.
תכונות מפתח חדשות ב-Valkey 8.1
אונו מהשינויים המשמעותיים ביותר בגרסה זו הוא שכתוב מלא של טבלת הגיבוב, בשימוש הן באחסון נתונים של ערך מפתח והן בסוגי נתונים מובנים כגון Hash, Set ו-Sorted Set. הודות לעיצוב מחדש זה, הושגה הפחתה בשימוש בזיכרון: 20 בתים פחות לכל מפתח ללא TTL, ועד 30 בתים אם למפתח יש אורך חיים מוגדר. בנוסף, ההפחתה בגישה אקראית לזיכרון הובילה לשיפור ביצועים של 10% בסביבות I/O עם חוטים בודדים.
תכונה חדשה נוספת ב-Valkey 8.1 היא איטרציה על מפתחות בפעולות כמו הפקודה KEYS או העברת מפתחות בין צמתים באשכול כוללת כעת מערכת טעינת מטמון מראש, מה שמאפשר למפתח הבא להיות זמין לפני תחילת העיבוד שלו. גישה זו הגדילה את מהירות חיפוש המפתח פי 3,5 על ידי ניצול טוב יותר של מטמון המעבד.
שיפורים ב-I/O ו-TLS מרובי הליכי
Valkey ממשיכה במעבר למודל I/O מרובה הליכי. עכשיו, ה עיבוד חיבור TLS מתבצע בזרמים נפרדים, מה ששילש את היכולת לקבל חיבורים חדשים. פונקציות כגון SSL_pending() ו-ERR_clear_error() בודדו גם הן לשרשורים נפרדים, מה שהביא לעלייה של 10% בביצועים עבור פעולות SET וגידול של 22% עבור פעולות GET.
השכפול שופר, במיוחד בסביבות עם TLS פעיל, ביטול פעולות מיותרות כגון סכומי ביקורת מיותרים. זה הביא לשיפור של 18% בסנכרון המלא במהלך שכפול ללא דיסק והפחתה של 47% בעלות פעולות ההעתקה והכתיבה.
אופטימיזציות על סטים מסודרים וסוגים הסתברותיים
El פקודת ZRANK עבור סטים שהוזמנו עבר אופטימיזציה ו כעת הוא מהיר יותר ב-45%, בעוד ש-ZADD אימצה הוראות SIMD כדי להגיע ליעילות רבה יותר. עבור סוגי נתונים הסתברותיים, השימוש ב-HyperLogLog שופר לשימוש רק ב-12 KB של זיכרון קבוע, והשימוש בהוראות AVX2 אפשר להכפיל את הביצועים של פעולות PFMERGE ו-PFCOUNT בעד פי 12, ו-BITCOUNT עד פי 5.
איחוי פעיל ללא הפרעה ושליטה רבה יותר על רישום
El גם מערכת האיחוי הפעיל שופרה כדי למנוע חסימות או עיכובים. כעת, כל מחזור איחוי נמשך רק 500 מיקרו-שניות, ואסטרטגיה נגד הרעבה יושמה כדי למנוע דחיית משימות אלו עקב פעולות ארוכות טווח.
הוצגו אפשרויות תצורה חדשות לעיצוב רשומות, כולל פורמטים מותאמים אישית של זמן ומצב COMMANDLOG חדש שמתעד בקשות ותגובות ארוכות. בנוסף, הפקודה LATENCY LATEST הורחבה עם מדדים חדשים, המספקים נראות רבה יותר לגבי השעות השיא והנפח שנרשמו.
תכונות חדשות, מודולים ותמיכה
ולקי כעת מאפשר לך לבצע את פעולת SET IFEQ, מה שמתנה כתיבת מפתח לערך הנוכחי. גַם הוצגה תמיכה מודולרית למנועי סקריפט, פתיחת האפשרות להשתמש בשפות חלופיות ל- Lua באמצעות מודולים מותאמים אישית.
גם בגרסה זו הבכורה של מספר מודולים:
- מודול חיפוש (גוגל): מנוע חיפוש דמיון וקטור, אידיאלי עבור מקרי למידת מכונה הדורשים חביון נמוך ותפוקה גבוהה.
- מודול JSON (AWS): מאפשר מניפולציה ישירה של שברי מסמכי JSON, הימנעות מעיבוד מלא של התוכן בלקוח.
- מודול מסנן פריחה (AWS): יישום מסנני Bloom, שימושי לקביעת החברות האפשרית של אלמנט בסט, ביעילות הסתברותית
לבסוף, אם אתה מעוניין להיות מסוגל לדעת יותר על זה, אתה יכול לעיין בפרטים ב הקישור הבא.