Byla představena beta verze úložiště OrioleDB beta7 a byly zveřejněny výsledky nových testů, které prokázaly výrazné zlepšení výkonu ve srovnání s tradičním PostgreSQL. Ve verzi beta7 byly představeny optimalizace pro zlepšení zpracování vícevláknových úloh a urychlení operací čtení a zápisu. První stabilní vydání OrioleDB je plánováno na rok 2025. Engine je napsán v C a distribuován pod licencí PostgreSQL, podobně jako licence BSD a MIT.
Projekt OrioleDB vyvíjí alternativní storage engine pro PostgreSQL, navržený tak, aby překonal omezení standardního storage engine a zlepšil celkovou efektivitu systému. OrioleDB vám například umožňuje obejít se bez pravidelného provádění operace VACUUM pro shromažďování odpadků, a to díky implementaci mechanismu MVCC (Multi-Version Concurrency Control) založeného na protokolech zpět fungujících na úrovni jednotlivých bloků a řádků. jako systém pro automatické slučování stránek obsahujících data. OrioleDB také používá 64bitové ID transakcí, což řeší problém přetečení čítače.
Pro zjednodušení použití v distribuovaných systémech a paralelizaci operací udržuje OrioleDB protokol transakcí WAL na úrovni řádků. Při provádění operace UPDATE je podporována náhrada dat na místě (bez uvolnění aktuálního záznamu a vytvoření nového), což má pozitivní vliv na výkon. OrioleDB také implementuje funkce, jako je čtení datových stránek bez použití zámků, přímé propojení stránek v paměti RAM se stránkami v trvalém úložišti, použití mechanismu CoW (copy-on-write) při opravování kontrolních bodů k vytvoření konzistentních snímků kdykoli, režim ukládání komprimovaných dat pomocí algoritmu ZSTD.
Mezi omezeními přítomnými v sedmé beta verzi OrioleDB je zaznamenána schopnost používat pouze indexy ve formátu B-tree (v budoucnu bude podpora pro všechny typy PostgerSQL indexů), stejně jako nedostatečná podpora pro předpřipravené transakce (PREPARE TRANSACTION) a příkaz „REINDEX“ v režimu „SOÚČASNĚ“ " OrioleDB je implementován jako rozšíření plug-in, které vyžaduje změny v hlavní kódové základně PostgreSQL.
V testech výkonu TPC-C, které simulují pracovní zátěž při zpracování transakcí v reálném světě, sedmá beta verze OrioleDB prokázala významnou převahu nad základním PostgreSQL enginem. Testování bylo prováděno s různým počtem souběžných klientů, aby se vyhodnotila škálovatelnost a výkon systému s rostoucí zátěží.
V testech, které hodnotí propustnost transakcí, dosáhl engine OrioleDB vyšší propustnosti měřené v transakcích za minutu (tpmC). S rostoucím počtem klientů se výkon OrioleDB dále lineárně zvyšoval, zatímco Heap engine PostgreSQL měl tendenci stagnovat a dokonce klesat za určitou hranici.



V testech doby odezvy byla průměrná doba odezvy transakce v OrioleDB znatelně nižší ve srovnání s PostgreSQL. Systémy založené na OrioleDB tak mohou zpracovat více transakcí za stejnou dobu a zároveň poskytovat rychlejší dotazovací službu. Při měření využití zdrojů prokázal engine OrioleDB efektivnější využití CPU a paměti díky optimalizované správě zdrojů.
Zdroj: opennet.ru
