Esitatud on OrioleDB beta7 salvestusmootori beetaversioon ja avaldatud on uute testide tulemused, mis näitavad märkimisväärset jõudluse paranemist traditsioonilise PostgreSQLiga võrreldes. Beetaversioonis beta7 on tehtud optimeerimisi, mis aitavad parandada mitme lõime koormuse töötlemist ja kiirendada lugemis- ja kirjutamistoiminguid. Esimene stabiilne OrioleDB väljaanne on plaanis 2025. aastaks. Mootor on kirjutatud C keeles ja levitatakse PostgreSQLi litsentsi all, mis sarnaneb BSD ja MIT litsentsidega.
Projekt OrioleDB arendab PostgreSQLi alternatiivset salvestusmootorit, mis on loodud standardse salvestusmehhanismi piirangute ületamiseks ja süsteemi üldise tõhususe suurendamiseks. Näiteks võimaldab OrioleDB vältida perioodiliste VACUUM toimingute läbiviimist prahi kogumiseks, rakendades MVCC (Multi-Version Concurrency Control) mehhanismi, mis põhineb tagasivõtmise logidel (undo logs), mis töötavad individuaalsete plokkide ja ridade tasemel, samuti andmeid sisaldavate lehtede automaatse sulandamise süsteemi. OrioleDB kasutab ka 64-bitiseid tehingu identifikaatoreid, mis lahendab loenduri ületäitumise probleemi.
Jaotatud süsteemide lihtsustamiseks ja OrioleDB-s toimingute paralleelseks tegemiseks on korraldatud WAL-tehingu logi pidamine ridade tasemel. UPDATE toimingu täitmisel toetatakse andmete asendamist kohapeal (ilma praeguse kirje vabastamata ja uue loomata), mis mõjutab soodsalt jõudlust. OrioleDB-s on rakendatud võimalusi, nagu andmelahtede lugemine ilma lukustamiseta, lehtede otsene sidumine mälu lehtedega, mis asuvad püsivas salvestuses, ning CoW (copy-on-write) mehhanismi rakendamine kontrollpunktide fikseerimisel, et luua mistahes ajahetkel järjepidevaid snapshot'e, samuti andmete salvestamise režiim kokku surutud kujul kasutades ZSTD algoritmi.
Seitsmenda beetaversiooni OrioleDB piirangutest tuuakse välja, et on võimalik kasutada ainult B-tree formaadi indekseid (tulevikus on plaanis toetada kõiki PostgreSQL indeksi tüüpe), samuti puudub tugi eelnevalt valmistatud tehingutele (PREPARE TRANSACTION) ja käsule "REINDEX" režiimis „CONCURRENTLY“. OrioleDB on rakendatud plugina laienduse vormis, mis nõuab põhikoodi muutmist PostgreSQL-is.
Toimivuskatsetes TPC-C, mis simuleerivad tehingutöötluse koormust reaalsetes tingimustes, näitas seitsmes beetaversioon OrioleDB märkimisväärset ülekaalu võrreldes vaikimisi PostgreSQL mootori tööga. Testimine viidi läbi erinevate samaaegselt töötavate klientide arvuga, et hinnata süsteemi skaleeritavust ja jõudlust koormuse suurendamisel.
Tehingute läbilaskvuse hindamisel saavutas OrioleDB mootor kõrgema läbilaskevõime, mõõdetuna tehingute minutis (tpmC). Kliendi arvu suurenedes suurenes OrioleDB jõudlus lineaarselt, samas kui Heap mootori PostgreSQL-is täheldati tendentsi stagnatsiooni ja isegi vähenemise suunas pärast teatud piiri.



Reaktsiooniaja katsetes oli OrioleDB tehingute keskmine reaktsiooniaeg märkimisväärselt madalam võrreldes PostgreSQL-iga. Seega saavad OrioleDB põhised süsteemid töödelda rohkem tehinguid sama aja jooksul, pakkudes samas kiiremat päringute teenindust. Ressursside kasutamise mõõtmisel näitas OrioleDB mootor tõhusamat CPU ja mälu kasutust, tänu optimeeritud ressursside haldamisele.
Allikas: opennet.ru
