Redis 6.0 DBMS-ի թողարկում

Պատրաստված DBMS թողարկում Ռեդիս 6.0NoSQL համակարգերի դասին պատկանող։ Redis-ը տրամադրում է Memcached-ի նման գործառույթներ՝ բանալի/արժեքի տվյալները պահելու համար, որոնք բարելավվում են տվյալների կառուցվածքային ձևաչափերի աջակցությամբ, ինչպիսիք են ցուցակները, հեշերը և հավաքածուները, և սերվերի կողմից Lua մշակող սկրիպտները գործարկելու ունակությամբ: Ծրագրի կոդը մատակարարված BSD լիցենզիայի ներքո: Լրացուցիչ մոդուլներ, որոնք առաջարկում են առաջադեմ հնարավորություններ ձեռնարկության օգտագործողների համար, ինչպիսիք են RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom անցյալ տարվանից: մատակարարված RSAL լիցենզիայի ներքո: Այս մոդուլների բաց տարբերակների մշակումը AGPLv3 լիցենզիայի ներքո շարունակվում է նախագծի կողմից GoodFORM.

Ի տարբերություն Memcached-ի, Redis-ը ապահովում է տվյալների մշտական ​​պահպանում սկավառակի վրա և երաշխավորում է տվյալների բազայի անվտանգությունը վթարային անջատման դեպքում: Նախագծի սկզբնական կոդը տարածվում է BSD լիցենզիայի ներքո: Հաճախորդի գրադարանները հասանելի են ամենատարածված լեզուների համար, ներառյալ Perl, Python, PHP, Java, Ruby և Tcl: Redis-ն աջակցում է գործարքներին, որոնք թույլ են տալիս կատարել հրամանների խումբ մեկ քայլով՝ ապահովելով հետևողականություն և հետևողականություն (այլ հարցումների հրամանները չեն կարող խանգարել) տվյալ հրամանների կատարմանը, իսկ խնդիրների դեպքում՝ թույլ տալով հետ շրջվել։ փոփոխությունները։ Բոլոր տվյալները ամբողջությամբ պահվում են RAM-ում:

Տվյալների կառավարման համար տրամադրվում են այնպիսի հրամաններ, ինչպիսիք են ավելացում/նվազում, ստանդարտ ցուցակի և հավաքածուի գործողություններ (միավորում, խաչմերուկ), բանալիների անվանափոխում, բազմակի ընտրություն և տեսակավորման գործառույթներ: Աջակցվում է պահեստավորման երկու ռեժիմ՝ տվյալների պարբերական համաժամացում սկավառակի վրա և սկավառակի վրա փոփոխությունների գրանցամատյանի պահպանում: Երկրորդ դեպքում բոլոր փոփոխությունների ամբողջական անվտանգությունը երաշխավորված է։ Հնարավոր է կազմակերպել master-slave տվյալների վերարտադրությունը մի քանի սերվերների վրա, որն իրականացվում է ոչ արգելափակման ռեժիմով: Հասանելի է նաև «հրապարակել/բաժանորդագրվել» հաղորդագրությունների ռեժիմը, որում ստեղծվում է ալիք, որից հաղորդագրությունները բաժանորդագրության միջոցով բաժանվում են հաճախորդներին:

Բանալի բարելավումներավելացված է Redis 6.0-ում.

  • Լռելյայնորեն առաջարկվում է նոր RESP3 արձանագրությունը, սակայն կապի կարգավորումը սկսվում է RESP2 ռեժիմով, և հաճախորդը անցնում է նոր արձանագրությանը միայն այն դեպքում, եթե կապի հետ բանակցությունների ժամանակ օգտագործվի նոր HELLO հրամանը: RESP3-ը թույլ է տալիս ուղղակիորեն վերադարձնել տվյալների բարդ տիպերը՝ առանց հաճախորդի կողմից ընդհանուր զանգվածները փոխակերպելու անհրաժեշտության և վերադարձի տեսակներն առանձնացնելու միջոցով:
  • Մուտքի վերահսկման ցուցակի աջակցություն (ACL), որը թույլ է տալիս ճշգրիտ որոշել, թե որ գործողություններ կարող է կատարել հաճախորդը, իսկ որոնք՝ ոչ: ACL-ները նաև հնարավորություն են տալիս պաշտպանվել մշակման ընթացքում հնարավոր սխալներից, օրինակ՝ միայն BRPOPLPUSH օպերացիան կատարող կարգավորիչին կարող է արգելվել այլ գործողություններ կատարել, և եթե վրիպազերծման ժամանակ ավելացված FLUSHALL զանգը պատահաբար մոռացվի արտադրության կոդում, դա կ խնդիրների չհանգեցնի. ACL-ի ներդրումը լրացուցիչ ծախսեր չի առաջացնում և գործնականում չի ազդում կատարողականի վրա: ACL-ի համար պատրաստվել են նաև ինտերֆեյսի մոդուլներ, ինչը հնարավորություն է տալիս ստեղծել ձեր իսկորոշման մեթոդները: Բոլոր գրանցված ACL խախտումները դիտելու համար տրամադրվում է «ACL LOG» հրամանը: Անկանխատեսելի նստաշրջանի ստեղներ ստեղծելու համար «ACL GENPASS» հրամանն ավելացվել է SHA256-ի վրա հիմնված HMAC-ի միջոցով:
  • Աջակցություն SSL / TLS հաճախորդի և սերվերի միջև կապի ալիքը ծածկագրելու համար:
  • Աջակցություն տվյալների քեշավորում հաճախորդի կողմից: Հաճախորդի կողմի քեշը տվյալների բազայի վիճակի հետ հաշտեցնելու համար հասանելի է երկու ռեժիմ. 1. Սերվերի վրա հիշել այն ստեղները, որոնք հաճախորդը նախկինում խնդրել էր, որպեսզի տեղեկացնեն նրան հաճախորդի քեշում մուտքի արդիականության կորստի մասին: 2. «Հեռարձակման» մեխանիզմը, որի դեպքում հաճախորդը բաժանորդագրվում է որոշ հիմնական նախածանցների, իսկ սերվերը տեղեկացնում է նրան, եթե այդ նախածանցների տակ ընկած բանալիները փոխվեն: «Հեռարձակման» ռեժիմի առավելությունն այն է, որ սերվերը լրացուցիչ հիշողություն չի վատնում հաճախորդի կողմից քեշավորված արժեքների քարտեզը պահելու վրա, բայց թերությունն այն է, որ փոխանցվող հաղորդագրությունների քանակը մեծանում է:
  • Disque հաղորդագրությունների բրոքերը, որը թույլ է տալիս օգտագործել Redis-ը հաղորդագրությունների հերթերը մշակելու համար, հեռացվել է հիմնական կառուցվածքից առանձին մոդուլ.
  • Ավելացված է Կլաստերի վստահված անձ, Redis սերվերների կլաստերի վստահված անձ, որը թույլ է տալիս հաճախորդին կազմակերպել աշխատանքը մի քանի Redis սերվերների հետ, կարծես դրանք մեկ օրինակ են: Վստահված անձը կարող է ուղղորդել հարցումները դեպի հանգույցներ, որոնք ունեն անհրաժեշտ տվյալներ, մուլտիպլեքսային միացումներ, վերակազմավորել կլաստերը, եթե հայտնաբերվեն հանգույցների ձախողումներ, և կատարել հարցումներ, որոնք ընդգրկում են մի քանի հանգույցներ:
  • Մոդուլներ գրելու API-ն զգալիորեն բարելավվել է՝ ըստ էության Redis-ը վերածելով շրջանակի, որը թույլ է տալիս համակարգեր ստեղծել հավելյալ մոդուլների տեսքով։
  • Իրականացվել է կրկնօրինակման ռեժիմ, որտեղ RDB ֆայլերը անմիջապես ջնջվում են դրանք օգտագործելուց հետո:
  • Բարելավվել է PSYNC2 կրկնօրինակման արձանագրությունը, ինչը հնարավորություն է տվել ավելի հաճախ կատարել մասնակի վերահամաժամանակացում՝ մեծացնելով կրկնօրինակի և հիմնականի համար ընդհանուր օֆսեթների նույնականացման հնարավորությունները:
  • RDB ֆայլերի բեռնումն արագացված է: Կախված ֆայլի բովանդակությունից, արագացումը տատանվում է 20-ից 30%: INFO հրամանի կատարումը զգալիորեն արագացել է, երբ մեծ թվով միացված հաճախորդներ կան:
  • Ավելացվել է նոր STRALGO հրաման՝ լարերի մշակման բարդ ալգորիթմների ներդրմամբ։ Ներկայումս հասանելի է միայն մեկ LCS (ամենաերկար ընդհանուր ենթահաջորդականություն) ալգորիթմ, որը կարող է օգտակար լինել ՌՆԹ-ի և ԴՆԹ-ի հաջորդականությունները համեմատելիս:

Source: opennet.ru

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