Կոմպակտ ներկառուցված DBMS libmdbx 0.9.1 թողարկում

Ազատ է արձակվել գրադարանային տարբերակը 0.9.1 libmdbx (MDBX) բարձր արդյունավետությամբ, կոմպակտ ներկառուցված բանալի-արժեքի տվյալների բազայի իրականացում: libmdbx կոդը բաշխվում է լիցենզիայի ներքո OpenLDAP հանրային լիցենզիա.

Ներկայիս տարբերակը փոխզիջում է երկարաժամկետ կայուն տարբերակ 1.0 թողարկելու մտադրության միջև C++-ի ամբողջական աջակցությամբ և թողարկումները հետաձգելու դժկամության միջև՝ նոր C++ API-ի սառեցման անպատրաստ լինելու պատճառով: Ներկայացված թողարկումը գրադարանի կայունացմանն ու օգտագործելիության բարելավմանն ուղղված 9 ամսվա աշխատանքի արդյունքն է, ինչպես նաև ներառում է նախնական տարբերակը։ C ++ API.

libmdbx գրադարանը պարզապես «պատառաքաղ» չէ, այլ արմատապես վերափոխված ժառանգ LMDB — «key-value» դասի գործարքային ներկառուցված DBMS՝ հիմնված ծառ B+ առանց պրոակտիվ անտառահատումներ, որը թույլ է տալիս բազմաշերտ գործընթացներին մրցունակ և արդյունավետ աշխատել տեղական (ոչ ցանցային) տվյալների բազայի հետ՝ առանց հատուկ սերվերի գործընթացի: libmdbx հիմնովին ընդլայնվում է իր նախնիների հնարավորությունները՝ միաժամանակ վերացնելով կամ մեղմելով թերությունները։ Միևնույն ժամանակ, ըստ մշակողների, libmdbx-ը մի փոքր ավելի արագ և զգալիորեն ավելի հուսալի է, քան LMDB-ն։

libmdbx-ն առաջարկում է ACID, փոփոխությունների խիստ սերիականացում և ոչ արգելափակող ընթերցում պրոցեսորի միջուկների գծային մասշտաբով: Արդյունավետության փորձարկման արդյունքներ (ուղարկել զուգահեռ ընթերցման/որոնման հարցումներ 1-2-4-8 շղթաներով պրոցեսորի i7-4600U 2 ֆիզիկական միջուկով 4 շղթայական HyperThread ռեժիմում).

Կոմպակտ ներկառուցված DBMS libmdbx 0.9.1 թողարկում

MDBX-ի և LMDB-ի ամենակարևոր տարբերությունները.

  • Սկզբունքորեն, ավելի շատ ուշադրություն է դարձվում կոդի որակին, API-ի հետևողականությանը, թեստին և ավտոմատ ստուգմանը:
  • Զգալիորեն ավելի մեծ վերահսկողություն շահագործման ընթացքում՝ պարամետրերի ստուգումից մինչև տվյալների բազայի կառուցվածքների ներքին աուդիտ:
  • Ավտոմատ կոմպակտացում և տվյալների բազայի չափի ավտոմատ կառավարում:
  • Տվյալների բազայի մեկ ձևաչափ 32-բիթանոց և 64-բիթանոց հավաքների համար:
  • Նմուշի ծավալների գնահատումն ըստ միջակայքերի (տիրույթի հարցման գնահատում):
  • Աջակցություն կրկնակի երկար ստեղների և օգտագործողի կողմից ընտրվող տվյալների բազայի էջի չափի համար:
  • Տվյալների բազայի կառուցվածքի ամբողջականությունը որոշ վերականգնման հնարավորություններով ստուգելու օգտակար ծրագիր:

Հիմնական նորամուծություններն ու բարելավումները հետո նախորդ լուրերը 0.5 թվականի հունվարին 2020 տարբերակի ներդրմամբ.

  • Ստեղծվել է բաց համակարգ՝ արագ աջակցության և հարցերի պատասխանների համար։ Telegram խումբ.
  • Վերացվել են մեկ տասնյակից ավելի սխալներ և թերություններ (տես. փոփոխության մատյան).
  • Ուղղվել են բազմաթիվ տառասխալներ և ուղղագրական սխալներ, և կատարվել են բազմաթիվ կոսմետիկ բարելավումներ:
  • Փորձարկման սցենարները ընդլայնվել են:
  • Աջակցություն iOS-ի, Android-ի, buildroot, մուսուլ, uClibc, WSL1 и գինի.
  • C++ API-ի նախադիտումը թողարկվել է մեկ վերնագրի ֆայլ.
  • Ներկառուցված փաստաթղթեր Doxygen ձևաչափով և ավտոմատ արտադրություն Առցանց փաստաթղթեր.
  • Տրամադրվում է արխիվների ավտոմատ ստեղծում՝ միացված սկզբնաղբյուր տեքստերով:
  • Ավելացվեց գործարքների և կուրսորների պատրաստման աջակցություն, գործարքների և կուրսորների օգտատիրոջ համատեքստեր:
  • Լրացուցիչ մեթոդներ են ներդրվել՝ B+tree MVCC ակնթարթային նկարներում հղումների ամբողջականությունը վերահսկելու համար:
  • Ավելացվել է տվյալների բազայի MVCC նկարը ստուգելու աջակցություն, որը հասանելի է ցանկացած մետա էջի միջոցով՝ վերականգնման համար անցնելու հնարավորությամբ:
  • Իրականացված աջակցություն՝ փորձարկման նպատակով մեկ գործընթացից տվյալների բազայի վերաբացման համար և այլն:
  • Տվյալների բազա բացելիս իրականացվել է MDBX_NOSUBDIR տարբերակի ավտոմատ մշակում:
  • Ավելացվել են լողացող կետային արժեքներից և JavaScript-ի «ունիվերսալ» թվերից ամբողջական ստեղներ ստեղծելու գործառույթներ:
  • Ընդհանուր առմամբ, 430 ֆայլի վրա ազդող 93 փոփոխություն է կատարվել, ավելացվել է ավելի քան 25 հազար տող, ջնջվել է ավելի քան 8.5 հազար տող։

libmdbx-ի հետագա զարգացումը կկենտրոնանա վերջնական C++ API-ի, բազային կոդի հետագա կայունացման, գրադարանի օգտագործելիության բարելավման և հայտնի Linux բաշխումների համար փաթեթավորման վրա: Առաջարկվող բարելավումների թվում հարկ է նշել ձևաչափի բանալիների աջակցությունը ՀաղորդագրությունՊեքենա.

Source: opennet.ru

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