Postgres WASM նախագծի մշակումները, որը միջավայր է մշակում բրաուզերի ներսում աշխատող PostgreSQL DBMS-ով, բաց են։ Ծրագրի հետ կապված կոդը բաց կոդ է MIT լիցենզիայի ներքո: Գործիքակազմ է առաջարկվում վիրտուալ մեքենայի ստեղծման համար, որն աշխատում է զննարկիչում, որը զտված է Linux միջավայրով, PostgreSQL 14.5 սերվերով և հարակից կոմունալ ծառայություններով (psql, pg_dump): Վերջնական ժողովի չափը մոտ 30 ՄԲ է:
Վիրտուալ մեքենայի լցոնումը ձևավորվում է buildroot սկրիպտների միջոցով և գործարկվում է զննարկիչում՝ օգտագործելով v86 էմուլյատորը: Վեբ կեղևը տրամադրվում է զննարկիչից PostgreSQL կոմունալ ծառայությունների հետ շփվելու համար: Ցանցով բրաուզերում աշխատող PostgreSQL սերվեր մուտք գործելու և վիրտուալ մեքենայից ցանցային հարցումներ կատարելու համար օգտագործվում է պրոքսի, որը փոխանցում է տրաֆիկը Websocket API-ի միջոցով:
Postgres WASM-ի հիմնական առանձնահատկությունները.
- Պահպանում և վերականգնում է DBMS-ի վիճակը ֆայլից կամ բրաուզերի պահեստից՝ հիմնված IndexedDB-ի վրա:
- Արագ գործարկում վիրտուալ մեքենայի պահպանված վիճակով ֆայլից կամ ամբողջական գործարկում էմուլյատորի վերագործարկումով:
- Վիրտուալ մեքենային 128-ից մինչև 1024 ՄԲ հիշողություն հատկացնելու հնարավորություն:
- Վեբ տերմինալի տառատեսակի չափի կարգավորում:
- Աջակցություն ֆայլերը վիրտուալ միջավայր վերբեռնելու համար, ներառյալ տվյալների բազայի աղբավայրերը վերբեռնելու հնարավորությունը:
- Աջակցություն վիրտուալ միջավայրից ֆայլեր ներբեռնելու համար:
- Մուտքային և ելքային ցանցային կապերի ստեղծում, 5432 ցանցի պորտին հարցումները փոխանցելու համար թունել ստեղծելը:
Postgres WASM-ի հնարավոր կիրառություններից են ցուցադրական և ուսուցման համակարգերի ստեղծումը, տվյալների հետ աշխատանքի կազմակերպումը օֆլայն ռեժիմում, տվյալների վերլուծությունը անցանց ռեժիմում, PostgresSQL ֆունկցիոնալության և կոնֆիգուրացիաների փորձարկում, տեղական մշակողի միջավայրի ստեղծում, որոշակի վիճակի հատվածների պատրաստում: DBMS՝ ուրիշներին ուղարկելու համար, մշակողներին կամ աջակցող թիմին, արտաքին DBMS-ից տրամաբանական վերարտադրության փորձարկում:
Source: opennet.ru