La version du projet IvorySQL 5.0 a été publiée, développant une édition du SGBD PostgreSQL qui offre une compatibilité avec les applications conçues pour fonctionner avec le SGBD Oracle. IvorySQL prétend pouvoir fonctionner comme un remplacement transparent de la dernière version de PostgreSQL, dont la différence se résume à l'apparence du paramètre « compatible_db », qui inclut le mode de compatibilité avec Oracle. Le code est écrit en C et distribué sous la licence Apache 2.0.
IvorySQL implémente le langage procédural PL/iSQL, qui reproduit la syntaxe PL/SQL d'Oracle, et prend en charge les packages de style Oracle et les opérations sur les packages telles que « CREATE PACKAGE ». Fournit un ensemble de fonctions et de types compatibles Oracle et prend en charge la syntaxe spécifique à Oracle pour les opérations, expressions et instructions telles que ALTER TABLE, DELETE, UPDATE, CONNECT BY (requêtes hiérarchiques), GROUP BY, UNION et MINUS.
Dans la nouvelle version:
- La transition vers la base de code PostgreSQL 18 est terminée.
- Compatibilité améliorée avec Oracle DBMS : prise en charge des routines imbriquées, des paramètres ROWID, NLS et OUT, de la traduction des chaînes vides en NULL, de la modification des analyseurs syntaxiques dans la liaison de session, de l’encodage GB18030, des fonctions SYS_GUID, SYS_CONTEXT et USERENV.
- Ajout des opérateurs INSTR, FORCE VIEW et LIKE compatibles avec Oracle.
- Les fonctionnalités PL/iSQL ont été étendues : la prise en charge de la syntaxe CALL, de %ROWTYPE et de %TYPE a été ajoutée.
- La prise en charge complète de Docker Compose, Docker Swarm et Kubernetes via le gestionnaire de paquets Helm a été implémentée. Des outils de gestion visuelle du cycle de vie ont été ajoutés à IvorySQL Operator 5.0 et IvorySQL Cloud 5.0.
- La prise en charge de dix extensions PostgreSQL est assurée : pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check et pgvector.
- Des packages d'installation ont été créés pour les architectures X86_64, ARM64, MIPS et LoongArch.
- Un environnement en ligne permettant de travailler avec IvorySQL depuis un navigateur a été mis en place, vous permettant ainsi de vous passer d'installer IvorySQL sur votre système.
Il convient également de mentionner la sortie de SynchDB 1.3, un plugin conçu pour répliquer des données depuis un ou plusieurs SGBD tiers, tels que MySQL, MS SQL Server et Oracle, vers PostgreSQL. Ces SGBD externes servent de sources de données, qui sont directement transférées vers une base de données PostgreSQL cible unique, sans nécessiter de couches supplémentaires pour orchestrer le processus de synchronisation (toutes les opérations de synchronisation sont gérées par le plugin SynchDB). Le code du projet est écrit en C et en Java et est distribué sous licence Apache 2.0.
Le système comprend les composants suivants :
- Debezium Runner Engine est un moteur Java qui fournit des modules pour traiter les flux de modifications de données provenant de divers SGBD (MySQL, MS SQLServer et Oracle) et traduire les données reçues au format universel JSON.
- SynchDB Worker - lance les instances du moteur Debezium Runner pour répliquer les données de SGBD spécifiques, en reçoit les modifications au format JSON et les transfère vers le module Format Converter.
- SynchDB Launcher - Crée et termine les gestionnaires SynchDB à l'aide de l'API PostgreSQL pour lancer des processus en arrière-plan.
- Format Converter - analyse le flux de modifications au format JSON, convertit les types de données tiers et les requêtes DDL en types et requêtes compatibles PostgreSQL.
- Agent de réplication - Traite la sortie HeapTupleData du convertisseur de format et exécute des méthodes pour remplacer les données dans PostgreSQL.

SynchDB 1.3 introduit un nouveau moteur de snapshots basé sur FDW (Foreign Data Wrapper) et prend en charge OpenLog Replicator. Comparé au moteur précédent basé sur Debezium, ce nouveau moteur améliore considérablement les performances et réduit la latence lors de la réplication de données provenant de bases de données Oracle volumineuses. De plus, cette nouvelle version offre des vues statistiques supplémentaires (synchdb_genstats, synchdb_snapstats et synchdb_cdcstat), OpenLog Replicator prend désormais en charge les instructions MODIFY et DEFAULT ON NULL, et est compatible avec PostgreSQL 18 et IvorySQL 5.
Source: opennet.ru
