La septième version bêta d'OrioleDB, un moteur de stockage haute performance pour PostgreSQL

La version bêta du moteur de stockage OrioleDB beta7 a été présentée, accompagnée des résultats de nouveaux tests montrant une amélioration significative des performances par rapport au PostgreSQL traditionnel. La version beta7 a intégré des optimisations visant à améliorer le traitement des charges multithreads et à accélérer les opérations de lecture et d'écriture. La première version stable d'OrioleDB est prévue pour 2025. Le moteur est écrit en C et est distribué sous une licence PostgreSQL, similaire aux licences BSD et MIT.

Le projet OrioleDB développe un moteur de stockage alternatif pour PostgreSQL, conçu pour surmonter les limitations du mécanisme de stockage standard et améliorer l'efficacité globale du système. Par exemple, OrioleDB permet de se passer de l'exécution périodique de l'opération VACUUM pour le nettoyage, grâce à la mise en œuvre d'un mécanisme MVCC (Multi-Version Concurrency Control) basé sur des journaux de retour (undo logs) fonctionnant au niveau de blocs et de lignes individuels, ainsi qu'un système de fusion automatique des pages contenant des données. OrioleDB utilise également des identifiants de transactions 64 bits, résolvant le problème de débordement des compteurs.

Pour faciliter l'utilisation dans des systèmes distribués et paralléliser les opérations, OrioleDB organise la tenue d'un journal WAL des transactions au niveau des lignes. Lors de l'exécution d'une opération UPDATE, la substitution des données se fait en place (sans libérer l'enregistrement actuel et créer un nouveau), ce qui a un impact positif sur les performances. OrioleDB propose également des fonctionnalités telles que la lecture de pages de données sans verrouillage, le lien direct entre les pages en mémoire vive et celles dans le stockage permanent, l'application du mécanisme CoW (copy-on-write) lors de la création de points de contrôle pour créer des instantanés cohérents à tout moment, et le mode de stockage des données sous forme compressée utilisant l'algorithme ZSTD.

Parmi les limitations de la septième version bêta d'OrioleDB, on note la possibilité d'utiliser uniquement des index au format B-tree (le support de tous les types d'index PostgreSQL sera ajouté dans le futur), ainsi que l'absence de support pour les transactions préparées (PREPARE TRANSACTION) et la commande « REINDEX » en mode « CONCURRENTLY ». OrioleDB est implémenté sous forme d'une extension plug-in, nécessitant des modifications de la base de code principale de PostgreSQL.

Lors des tests de performance TPC-C, qui simulent une charge de traitement transactionnel dans des conditions réelles, la septième version bêta d'OrioleDB a montré un avantage significatif par rapport au moteur standard de PostgreSQL. Les tests ont été effectués avec un nombre variable de clients travaillant simultanément pour évaluer l'évolutivité et la performance du système sous une charge croissante.

Dans les tests évaluant le débit des transactions, le moteur OrioleDB a atteint un débit plus élevé, mesuré en transactions par minute (tpmC). Avec l'augmentation du nombre de clients, la performance d'OrioleDB continuait de croître de manière linéaire, tandis que le moteur Heap de PostgreSQL montrait une tendance à la stagnation, voire à la baisse après un certain seuil.

La septième version bêta d'OrioleDB, un moteur de stockage haute performance pour PostgreSQL
La septième version bêta d'OrioleDB, un moteur de stockage haute performance pour PostgreSQL
La septième version bêta d'OrioleDB, un moteur de stockage haute performance pour PostgreSQL

Dans les tests de temps de réponse, le temps de réponse moyen des transactions dans OrioleDB était nettement inférieur par rapport à PostgreSQL. Ainsi, les systèmes basés sur OrioleDB peuvent traiter plus de transactions dans le même laps de temps, tout en fournissant un service de requêtes plus rapide. Lors de la mesure de l'utilisation des ressources, le moteur OrioleDB a démontré une utilisation plus efficace du CPU et de la mémoire, grâce à une gestion des ressources optimisée.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster