Versioni i shtatë beta i OrioleDB, një motor ruajtjeje me performancë të lartë për PostgreSQL

Versioni beta e OrioleDB beta7 është publikuar, duke treguar rezultate të reja testimi që demonstrojnë një rritje të konsiderueshme të performancës krahasuar me PostgreSQL tradicional. Në versionin beta7 janë implementuar optimizime për të përmirësuar performancën në ngarkesa me shumë thread dhe për të acceleruar operacionet e leximit dhe shkrimit. Publikimi i parë stabil i OrioleDB pritet të formohet në vitin 2025. Motori është shkruar në gjuhën C dhe shpërndahet nën licencën PostgreSQL, e cila është e ngjashme me licencat BSD dhe MIT.

Projekti OrioleDB zhvillon njĂ« motor alternativ tĂ« ruajtjes pĂ«r PostgreSQL, i dizajnuar pĂ«r tĂ« adresuar kufizimet e mekanizmit standard tĂ« ruajtjes dhe pĂ«r tĂ« rritur efikasitetin e pĂ«rgjithshĂ«m tĂ« sistemit. PĂ«r shembull, OrioleDB lejon tĂ« shmanget nevoja pĂ«r tĂ« kryer periodikisht operacionin VACUUM pĂ«r pastrimin e mbeturinave, falĂ« implementimit tĂ« mekanizmit MVCC (Kontrolli i KonkurrencĂ«s me Versione tĂ« MĂșltiple) mbi bazĂ«n e tĂ« dhĂ«nave tĂ« pengesave (undo logs), duke funksionuar nĂ« nivelin e bllokimeve dhe rreshtave individuale, si dhe njĂ« sistemi automatik tĂ« bashkimit tĂ« faqeve qĂ« pĂ«rmbajnĂ« tĂ« dhĂ«na. OrioleDB gjithashtu pĂ«rdor identifikues 64-bitĂ«sh pĂ«r transaksionet, duke e zgjidhur problemin e mbushjes sĂ« numrave.

Për të simplifikuar përdorimin në sisteme të shpërndara dhe për të paralelizuar operacionet në OrioleDB, është organizuar mbajtja e një WAL-logu të transaksioneve në nivelin e rreshtave. Gjatë ekzekutimit të operacionit UPDATE, mbështetet ndërrimi i të dhënave në vend (pa çlirimin e regjistrimit aktual dhe krijimin e një të ri), që ndihmon në rritjen e performancës. Në OrioleDB janë implementuar gjithashtu mundësi si leximi i faqeve me të dhëna pa përdorim të bllokimeve, lidhja direkte e faqeve në memorie me ato në ruajtjen e përhershme, aplikimi i mekanizmit CoW (copy-on-write) gjatë ruajtjes së pikave të kontrollit për të krijuar hapësira të qarta në çdo moment, dhe një mod të ruajtjes së të dhënave në formë të kompresuar duke përdorur algoritmin ZSTD.

Në versionin e shtatë beta të OrioleDB, kufizimet e pranishme përfshijnë mundësinë e përdorimit vetëm të indekseve në formatin B-tree (në të ardhmen do të përfshihet mbështetje për të gjitha llojet e indekseve të PostgreSQL), si dhe mungesën e mbështetjes për transaksionet e parapara (PREPARE TRANSACTION) dhe komandën 'REINDEX' në modin 'CONCURRENTLY'. OrioleDB është implementuar në formën e një zgjerimi të qartë, duke kërkuar ndërrime në bazën kryesore të kodit të PostgreSQL.

Në testet e performancës TPC-C, të cilat modelojnë ngarkesën e përpunimit tranzaksional në kushte reale, versioni i shtatë beta i OrioleDB tregoi një përparësi të dukshme krahasuar me motorin e zakonshëm të PostgreSQL. Testimi u krye me një numër të ndryshëm klientësh që punonin njëkohësisht, për të vlerësuar shkallëzueshmërinë dhe performancën e sistemit kur ngarkesa rritej.

Në testet që vlerësojnë kapacitetin e transaksioneve, motori OrioleDB arriti një kapacitet më të lartë, i matur në transaksione për minutë (tpmC). Me rritjen e numrit të klientëve, performanca e OrioleDB vazhdoi të rritet në mënyrë lineare, ndërsa motori Heap në PostgreSQL tregoi një tendencë për stagnim dhe madje ulje pas një pragu të caktuar.

Versioni i shtatë beta i OrioleDB, një motor ruajtjeje me performancë të lartë për PostgreSQL
Versioni i shtatë beta i OrioleDB, një motor ruajtjeje me performancë të lartë për PostgreSQL
Versioni i shtatë beta i OrioleDB, një motor ruajtjeje me performancë të lartë për PostgreSQL

Në testet mbi kohën e përgjigjes, koha mesatare e përgjigjes për transaksionet në OrioleDB ishte dukshëm më e ulët krahasuar me PostgreSQL. Kështu, sistemet e bazuara në OrioleDB mund të përpunojnë më shumë transaksione në të njëjtën periudhë kohore, duke ofruar një shërbim më të shpejtë për kërkesat. Duke matur përdorimin e burimeve, motori OrioleDB tregoi një përdorim më efikas të CPU dhe memories, falë menaxhimit të optimizuar të burimeve.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster