De zevende bèta van OrioleDB, een hoge-prestatie opslagengine voor PostgreSQL

De bèta-versie van de opslag-engine OrioleDB beta7 is geïntroduceerd en de resultaten van nieuwe tests zijn gepubliceerd, die een aanzienlijke prestatieverbetering laten zien ten opzichte van de traditionele PostgreSQL. In versie beta7 zijn optimalisaties doorgevoerd om de prestaties bij multi-threaded workloads te verbeteren en de lees- en schrijfoperaties te versnellen. De eerste stabiele release van OrioleDB is gepland voor 2025. De engine is geschreven in de programmeertaal C en wordt verspreid onder een PostgreSQL-licentie, vergelijkbaar met de BSD- en MIT-licenties.

Het OrioleDB-project ontwikkelt een alternatieve opslag-engine voor PostgreSQL, ontworpen om de beperkingen van het standaard opslagmechanisme te overstijgen en de algehele efficiëntie van het systeem te verhogen. OrioleDB maakt bijvoorbeeld een einde aan de noodzaak om periodiek de VACUUM-operatie uit te voeren voor het opruimen van ongebruikte gegevens, dankzij de implementatie van het MVCC-mechanisme (Multi-Version Concurrency Control) op basis van terugrol-logboeken (undo logs), die op het niveau van individuele blokkeringen en rijen werken, evenals een automatisch samenvoegen van pagina's met gegevens. OrioleDB gebruikt ook 64-bits transactie-ID's, wat het probleem van telleroverloop oplost.

Om het gebruik in gedistribueerde systemen te vereenvoudigen en de operaties in OrioleDB te paralleliseren, is er een WAL-logboek voor transacties op het niveau van rijen ingericht. Bij het uitvoeren van een UPDATE-operatie is het mogelijk om gegevens ter plekke te vervangen (zonder de huidige registratie vrij te geven en een nieuwe te creëren), wat een positief effect heeft op de prestaties. OrioleDB biedt ook functies zoals het lezen van pagina's met gegevens zonder het gebruik van vergrendelingen, direkte koppeling van pagina's in het geheugen aan pagina's in permanente opslag, toepassing van het CoW-mechanisme (copy-on-write) bij het vastleggen van controlepunten voor het creëren van consistente snapshots op elk moment, en de modus voor het opslaan van gegevens in gecomprimeerde vorm met behulp van het ZSTD-algoritme.

Onder de beperkingen in de zevende bètaversie van OrioleDB valt op dat alleen B-tree indexen kunnen worden gebruikt (ondersteuning voor alle PostgreSQL-indexsoorten zal in de toekomst beschikbaar komen), en dat er geen ondersteuning is voor voorbereide transacties (PREPARE TRANSACTION) en de opdracht 'REINDEX' in de 'CONCURRENTLY' modus. OrioleDB is geïmplementeerd als een plug-in extensie die aanpassingen aan de hoofdcodebase van PostgreSQL vereist.

In de prestatietests van TPC-C, die de belasting van transactionele verwerking in realistische omstandigheden simuleren, toonde de zevende bètaversie van OrioleDB een aanzienlijk voordeel ten opzichte van de standaard PostgreSQL-engine. De tests werden uitgevoerd met verschillende aantallen gelijktijdige klanten, om de schaalbaarheid en prestaties van het systeem onder toenemende belasting te evalueren.

In tests die de doorvoersnelheid van transacties evalueerden, bereikte de OrioleDB-engine een hogere doorvoer, gemeten in transacties per minuut (tpmC). Met een toenemend aantal klanten bleef de prestaties van OrioleDB lineair groeien, terwijl de prestaties van de Heap-engine in PostgreSQL een tendens vertoonden naar stagnatie en zelfs afname na een bepaalde drempel.

De zevende bèta van OrioleDB, een hoge-prestatie opslagengine voor PostgreSQL
De zevende bèta van OrioleDB, een hoge-prestatie opslagengine voor PostgreSQL
De zevende bèta van OrioleDB, een hoge-prestatie opslagengine voor PostgreSQL

In tests met responstijd was de gemiddelde responstijd van transacties in OrioleDB merkbaar lager dan die van PostgreSQL. Dit betekent dat systemen op basis van OrioleDB meer transacties kunnen verwerken in dezelfde tijdspanne, terwijl ze snellere verzoekafhandeling bieden. Bij het meten van het gebruik van hulpbronnen, toonde de OrioleDB-engine een efficiënter gebruik van CPU en geheugen, dankzij geoptimaliseerd resourcebeheer.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster