Rilasciata la settima beta di OrioleDB, un motore di archiviazione ad alte prestazioni per PostgreSQL.

È stata presentata la beta del motore di archiviazione OrioleDB beta7 e pubblicati i risultati di nuovi test che mostrano un significativo aumento delle prestazioni rispetto al tradizionale PostgreSQL. Nella versione beta7 sono state implementate ottimizzazioni per migliorare le prestazioni delle operazioni in multithreading e velocizzare le operazioni di lettura e scrittura. Il primo rilascio stabile di OrioleDB è previsto per il 2025. Il motore è scritto in C e distribuito con licenza PostgreSQL, simile alle licenze BSD e MIT.

Il progetto OrioleDB sviluppa un motore di archiviazione alternativo per PostgreSQL, progettato per superare le limitazioni del meccanismo di archiviazione standard e aumentare l'efficienza complessiva del sistema. Ad esempio, OrioleDB consente di evitare l'esecuzione periodica dell'operazione VACUUM per la raccolta dei rifiuti, grazie all'implementazione del meccanismo MVCC (Multi-Version Concurrency Control) basato su log di annullamento (undo logs), operante a livello di singoli blocchi e righe, oltre a un sistema di fusione automatica delle pagine contenenti dati. OrioleDB utilizza anche identificatori delle transazioni a 64 bit, risolvendo il problema del superamento dei contatori.

Per semplificare l'uso nei sistemi distribuiti e parallelizzare le operazioni, OrioleDB organizza la registrazione del WAL delle transazioni a livello di righe. Durante l'operazione di UPDATE, è supportata la modifica in loco dei dati (senza liberare la registrazione corrente e crearne una nuova), il che migliora le prestazioni. OrioleDB offre anche funzionalità come la lettura delle pagine dei dati senza utilizzare lock, il collegamento diretto delle pagine in memoria con le pagine nello storage permanente, l'applicazione del meccanismo CoW (copy-on-write) durante la fissazione dei punti di controllo per creare snapshot coerenti in qualsiasi momento, e la modalità di archiviazione dei dati compressa utilizzando l'algoritmo ZSTD.

Tra le limitazioni presenti nella settima beta di OrioleDB si segnala la possibilità di utilizzare solo indici nel formato B-tree (in futuro verrà aggiunto il supporto per tutti i tipi di indici PostgreSQL), così come l'assenza di supporto per le transazioni pre-pianificate (PREPARE TRANSACTION) e il comando «REINDEX» in modalità «CONCURRENTLY». OrioleDB è implementato come un'estensione plug-in, che richiede modifiche al codice sorgente principale di PostgreSQL.

Nei test di prestazione TPC-C, che simulano il carico del processamento transazionale in condizioni reali, la settima beta di OrioleDB ha mostrato un notevole vantaggio rispetto al motore PostgreSQL standard. I test sono stati condotti con un numero variabile di clienti operanti simultaneamente, per valutare la scalabilità e le prestazioni del sistema sotto carico crescente.

Nei test che valutano la capacità di throughput delle transazioni, il motore OrioleDB ha raggiunto una maggiore capacità di throughput, misurata in transazioni al minuto (tpmC). Con l'aumento del numero di clienti, le prestazioni di OrioleDB sono continuate a crescere linearmente, mentre per il motore Heap in PostgreSQL si è osservata una tendenza alla stagnazione e persino a un declino dopo un certo limite.

Rilasciata la settima beta di OrioleDB, un motore di archiviazione ad alte prestazioni per PostgreSQL.
Rilasciata la settima beta di OrioleDB, un motore di archiviazione ad alte prestazioni per PostgreSQL.
Rilasciata la settima beta di OrioleDB, un motore di archiviazione ad alte prestazioni per PostgreSQL.

Nei test sui tempi di risposta, il tempo medio di risposta delle transazioni in OrioleDB è stato notevolmente inferiore rispetto a PostgreSQL. Pertanto, i sistemi basati su OrioleDB possono elaborare più transazioni nello stesso intervallo di tempo, fornendo allo stesso tempo un servizio di richiesta più rapido. Durante la misurazione dell'uso delle risorse, il motore OrioleDB ha dimostrato un utilizzo più efficiente di CPU e memoria, grazie a una gestione ottimizzata delle risorse.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster