libSQL նախագիծը սկսեց SQLite DBMS-ի պատառաքաղի մշակումը

libSQL նախագիծը փորձել է ստեղծել SQLite DBMS-ի պատառաքաղ, որը կենտրոնացած է համայնքի ծրագրավորողների մասնակցության համար բաց լինելու վրա և SQLite-ի սկզբնական նպատակից դուրս նորարարությունների խթանման վրա: Պատառաքաղի ստեղծման պատճառը SQLite-ի բավականին խիստ քաղաքականությունն է՝ կապված համայնքից երրորդ կողմի կոդ ընդունելու հետ, եթե կա բարելավումներ խթանելու անհրաժեշտություն: Պատառաքաղի կոդը բաշխվում է MIT լիցենզիայի ներքո (SQLite-ը թողարկվում է որպես հանրային սեփականություն):

Պատառաքաղի ստեղծողները մտադիր են պահպանել համատեղելիությունը հիմնական SQLite-ի հետ և պահպանել որակի նույն մակարդակը՝ պահպանելով մի շարք թեստային դեպքեր և աստիճանաբար ընդլայնելով այն նորարարությունների ավելացմանը զուգահեռ: Նոր ֆունկցիոնալություն մշակելու համար առաջարկվում է տրամադրել Rust լեզուն օգտագործելու հնարավորություն՝ միաժամանակ պահպանելով հիմնական մասը C լեզվում։ Եթե ​​հիմնական SQLite նախագծի քաղաքականությունը փոփոխություններ ընդունելու վերաբերյալ փոխվի, libSQL մշակողները մտադիր են կուտակված փոփոխությունները փոխանցել հիմնական նախագծին և միանալ դրա զարգացմանը:

SQLite ֆունկցիոնալության հնարավոր ընդլայնման գաղափարների թվում նշվում են.

  • Բաշխված տվյալների բազաներ ստեղծելու գործիքների ինտեգրում, որոնք գործում են հենց գրադարանի մակարդակով, և ոչ թե ֆայլային համակարգում փոփոխությունների կրկնօրինակման միջոցով (LiteFS) և առանց առանձին արտադրանքի մշակման (dqlite, rqlite, ChiselStore):
  • Օպտիմիզացում ասինխրոն API-ների օգտագործման համար, ինչպիսիք են io_uring ինտերֆեյսը, որը տրամադրվում է Linux միջուկի կողմից:
  • SQLite-ն օգտագործելու հնարավորություն Linux միջուկում, որը նման է eBPF վիրտուալ մեքենայի միջուկի աջակցությանը, այն իրավիճակների համար, երբ անհրաժեշտ է պահպանել տվյալների հավաքածուները միջուկից, որոնք չեն տեղավորվում RAM-ում:
  • Աջակցություն օգտվողի կողմից սահմանված գործառույթներին, որոնք գրված են ցանկացած ծրագրավորման լեզվով և կազմված WebAssembly միջանկյալ կոդի մեջ:

Source: opennet.ru

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