Sedmá beta verze OrioleDB, vysoce výkonného úložiště pro PostgreSQL

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.

 Sedmá beta verze OrioleDB, vysoce výkonného úložiště pro PostgreSQL
 Sedmá beta verze OrioleDB, vysoce výkonného úložiště pro PostgreSQL
 Sedmá beta verze OrioleDB, vysoce výkonného úložiště pro PostgreSQL

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

Přidat komentář