Amazon, Google, Oracle və Ericsson-dan Redis DBMS-nin forması olan Valkey 8.1 nəşr olundu.

Redis DBMS-nin mülkiyyət lisenziyasına keçidindən sonra Valkey 8.1 DBMS-nin buraxılışı baş verdi. Layihə Amazon, Google, Oracle, Ericsson və Snap kimi şirkətlərin tərtibatçılarının iştirakı ilə Linux Fondunun himayəsi altında neytral platformada hazırlanır. Keçmiş Redis-in baxıcısı Madelyn Olson Valkey-nin inkişafına qoşuldu. Layihə kodu C dilində yazılmışdır və BSD lisenziyası altında paylanmışdır. Linux, macOS, OpenBSD, NetBSD və FreeBSD-ni dəstəkləyir.

7.4 buraxılışından başlayaraq Redis, müəyyən kateqoriyalı istifadəçilərə qarşı ayrı-seçkilik yaradan və onların açıq və ya pulsuz hesab edilməsinə imkan verməyən Redis Mənbəsi Mövcud Lisenziya v2 (RSALv2) və Server Side Public License v1 (SSPLv1) lisenziyalarından istifadə etməyə keçdi. Hər iki lisenziya məqsədlərinə görə oxşardır və fərqlər ondan ibarətdir ki, SSPL lisenziyası AGPLv3 copyleft lisenziyasına əsaslanır, RSAL lisenziyası isə BSD icazə verən lisenziyaya əsaslanır. RSAL lisenziyası, həmin proqramların kommersiya xarakterli olduğu və ya idarə olunan pullu xidmətlərin təmin edilməsi üçün istifadə edildiyi hallar istisna olmaqla, kodu istifadə etmək, dəyişdirmək, yaymaq və tətbiqlərə inteqrasiya etmək imkanı verir. SSPL lisenziyası əlavə olaraq eyni lisenziya altında təkcə tətbiqin kodunu deyil, həm də bulud xidmətinin təmin edilməsində iştirak edən bütün komponentlərin mənbə kodunu təqdim etmək tələbini ehtiva edir.

Valkey və Redis, məlumatları açar/dəyər formatında saxlamaq üçün funksiyalar təmin edir, siyahılar, heşlər və dəstlər kimi strukturlaşdırılmış məlumat formatları üçün dəstək və yan tərəfdən icra etmək imkanı ilə genişləndirilir. server Lua əsaslı işleyici skriptləri. Verilənlər bazası yaddaşda saxlanılır və disk versiyası ilə sinxronlaşdırılır və ya disk dəyişiklik jurnalında əks olunur, bu da qəza halında məlumatların bütövlüyünü təmin edir. Əməliyyatlar, dərc/abunə rejimi, artım/azalma əmrləri, siyahı və təyin əməliyyatları (birləşmə, kəsişmə), açarın adının dəyişdirilməsi, master-slave replikasiyası, çoxsaylı seçimlər və çeşidləmə funksiyaları dəstəklənir.

Yeni versiyada:

  • Həm əsas açar-dəyər məlumatlarının saxlanmasında, həm də Hash, Set və Sorted Set tiplərinin məlumatlarını saxlayarkən istifadə olunan hash cədvəlinin tətbiqi tamamilə yenidən yazılmışdır. Yeni versiya azaldılmış yaddaş istehlakını və təsadüfi yaddaşa giriş əməliyyatlarının sayını azaldır. TTL olmayan hər bir açar-dəyər cütü üçün (obyektin yaşama müddəti limiti) yaddaş istehlakı 20 bayt, TTL ilə isə 30 bayt azalır. Çox yivli olmayan I/O rejimində işləyərkən ötürmə qabiliyyəti təxminən 10% artdı.
  • KEYS əmrini yerinə yetirərkən və ya replikasiya zamanı bütün açarları klasterdə yeni qovşaqlara göndərərkən kimi açar iterasiya əməliyyatını yerinə yetirərkən əvvəlcədən gətirmə dəstəyi əlavə edildi. Bu optimallaşdırma sayəsində açarların axtarışını 3.5 dəfə sürətləndirmək mümkün oldu, çünki növbəti açarın işlənməsinə keçərkən o, indi CPU keşinə yüklənir.
  • Komponentlərin çox yivli giriş/çıxış emalına keçidi davam etdirilmişdir. TLS əlaqələrini müzakirə edərkən ayrıca I/O axınlarından istifadə etmək imkanı əlavə edildi ki, bu da yeni bağlantıların qəbulunun performansını üç dəfə artırdı. SSL_pending() və ERR_clear_error() funksiyalarına edilən zənglər də ayrı-ayrı mövzulara köçürüldü ki, bu da SET əməliyyatlarını yerinə yetirərkən ötürmə qabiliyyətinin 10% və GET əməliyyatlarının 22% artması ilə nəticələndi.
  • Təkmilləşdirilmiş təkrarlama səmərəliliyi. Disksiz təkrarlamada lazımsız yoxlama məbləği hesablamalarının silinməsi TLS aktivləşdirildikdə tam sinxronizasiya performansını 18% yaxşılaşdırdı. Kopyalama-yazma əməliyyatları 47% azalıb.
  • Çeşidlənmiş siyahıların (məlumat növü "sorted set") həyata keçirilməsi optimallaşdırılıb, ZRANK əmrinin icrası 45% sürətlənib. ZADD təlimatının icrası SIMD təlimatlarından istifadə edir.
  • Hiperloqloq ehtimal növündən istifadə edərək unikal elementlərin hesablanması zamanı azaldılmış yaddaş istehlakı (indi məlumatın ölçüsündən asılı olmayaraq yalnız 12 KB yaddaş tələb olunur). X2 sistemlərində AVX86 təlimatlarını aktivləşdirməklə hiperloqloq məlumat növləri üzrə PFMERGE və PFCOUNT əməliyyatlarının performansı 12 dəfəyə qədər, BITCOUNT əməliyyatları isə 5 dəfəyə qədər artmışdır.
  • Aktiv defraqmentasiya sistemi 1 millisaniyədən artıq gecikmələrin qarşısını almaq üçün dəyişdirilib. Hər bir defraqmentasiya dövrünün vaxtı 500 mikrosaniyə qədər azaldılıb. Defraqmentasiya dövrü kimi əməliyyatların uzun müddət işləyən əmrlər tərəfindən gecikdirilməsinin qarşısını almaq üçün mexanizm (anti-aclıq) əlavə edildi.
  • Jurnalları formatlaşdırmaq və qeydlərdə vaxtı göstərmək üçün yeni parametrlər əlavə edildi. Böyük sorğuları və cavabları jurnalda əks etdirmək üçün COMMANDLOG rejimi əlavə edildi (uzun müddət davam edən sorğuların saxlanmasına bənzər).
  • Gecikmələri təhlil etmək üçün istifadə edilən "LATENCY LATEST" əmri qeydə alınmış gecikmələrin sayı və gecikmə sıçrayışları haqqında məlumat verən əlavə metrikləri daxil etmək üçün yeniləndi.
  • Müqayisədə göstərilən dəyər cari açar dəyərinə uyğun gələrsə, yerinə yetirilən "SET IFEQ" əməliyyatı üçün əlavə dəstək.
  • Lua dilindən başqa dilləri dəstəkləməyə imkan verən modullar kimi yeni skript mühərrikləri yaratmaq üçün əlavə dəstək.
  • Təqdim olunan yeni modullar:
    • Axtarış Modulu aşağı gecikmə və yüksək ötürmə qabiliyyəti tələb edən maşın öyrənmə tapşırıqları üçün optimallaşdırılmış vektor oxşarlığı axtarış motorudur. Modul Google tərəfindən təmin edilir.
    • JSON Modulu JSON sənədlərinin hissələrinə müştəri tərəfində tam işləmədən daxil olmağa imkan verən JSON məlumat növünün tətbiqidir. Modul AWS tərəfindən təmin edilir.
    • Ehtimallı Bloom Filtr Modulu Bloom filtrlərinin tətbiqidir, itkin element üçün yanlış pozitivlərə imkan verən, lakin mövcud elementin buraxılmasını istisna edən çoxluq üzvlüyünü yoxlamaq üçün ehtimal çərçivəsidir. Modul AWS tərəfindən təmin edilir.

Mənbə: opennet.ru

Добавить комментарий